@prosopo/provider 0.2.14 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/admin.js +0 -56
- package/dist/api/admin.js.map +1 -1
- package/dist/api/captcha.d.ts +0 -6
- package/dist/api/captcha.d.ts.map +1 -1
- package/dist/api/captcha.js +11 -73
- package/dist/api/captcha.js.map +1 -1
- package/dist/batch/commitments.js +0 -18
- package/dist/batch/commitments.js.map +1 -1
- package/dist/batch/index.js +0 -13
- package/dist/batch/index.js.map +1 -1
- package/dist/cjs/api/captcha.cjs +9 -19
- package/dist/index.js +0 -13
- package/dist/index.js.map +1 -1
- package/dist/scheduler.js +0 -15
- package/dist/scheduler.js.map +1 -1
- package/dist/tasks/calculateSolutions.d.ts +0 -3
- package/dist/tasks/calculateSolutions.d.ts.map +1 -1
- package/dist/tasks/calculateSolutions.js +0 -27
- package/dist/tasks/calculateSolutions.js.map +1 -1
- package/dist/tasks/index.js +0 -13
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/tasks.d.ts +0 -63
- package/dist/tasks/tasks.d.ts.map +1 -1
- package/dist/tasks/tasks.js +1 -84
- package/dist/tasks/tasks.js.map +1 -1
- package/dist/tests/accounts.js +0 -13
- package/dist/tests/accounts.js.map +1 -1
- package/dist/tests/batch/commitments.test.js +4 -68
- package/dist/tests/batch/commitments.test.js.map +1 -1
- package/dist/tests/contract/helpers.test.js +0 -1
- package/dist/tests/contract/helpers.test.js.map +1 -1
- package/dist/tests/dataUtils/DatabaseAccounts.js +0 -1
- package/dist/tests/dataUtils/DatabaseAccounts.js.map +1 -1
- package/dist/tests/dataUtils/DatabasePopulator.js +0 -7
- package/dist/tests/dataUtils/DatabasePopulator.js.map +1 -1
- package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js +0 -15
- package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js.map +1 -1
- package/dist/tests/dataUtils/funds.d.ts +0 -15
- package/dist/tests/dataUtils/funds.d.ts.map +1 -1
- package/dist/tests/dataUtils/funds.js +1 -24
- package/dist/tests/dataUtils/funds.js.map +1 -1
- package/dist/tests/dataUtils/populateDatabase.js +0 -1
- package/dist/tests/dataUtils/populateDatabase.js.map +1 -1
- package/dist/tests/tasks/tasks.test.js +1 -207
- package/dist/tests/tasks/tasks.test.js.map +1 -1
- package/dist/tests/util.test.js +0 -14
- package/dist/tests/util.test.js.map +1 -1
- package/dist/util.d.ts +0 -11
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +0 -31
- package/dist/util.js.map +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../../src/tests/contract/helpers.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAO7C,QAAQ,CAAC,kBAAkB,EAAE;IACzB,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAEjD,UAAU,CAAC,KAAK,WAAW,OAAO;QAC9B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAA;QAC7D,IAAI;YACA,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;SAC9B;QAAC,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../../src/tests/contract/helpers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,6 @@ class DatabaseAccounts {
|
|
|
62
62
|
return this._registeredDappUsers;
|
|
63
63
|
}
|
|
64
64
|
importDatabaseAccounts() {
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
66
65
|
const self = this;
|
|
67
66
|
return new Promise((resolve) => {
|
|
68
67
|
readFile(getPath('import'), { encoding: 'utf-8' }, function (err, stringData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseAccounts.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/DatabaseAccounts.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACxC,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,qCAAuB,CAAA;IACvB,uDAAyC,CAAA;IACzC,2EAA6D,CAAA;IAC7D,6BAAe,CAAA;IACf,+CAAiC,CAAA;IACjC,qCAAuB,CAAA;AAC3B,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAgBD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAA;AAEzD,SAAS,OAAO,CAAC,IAAyB;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAA;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAA2B;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACxC,OAAO;gBACH,GAAG,IAAI;gBACP,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;aAC9B,CAAA;QACL,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG;YAChE,IAAI,GAAG,EAAE;gBACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;aACnB;iBAAM;gBACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;aAC3D;YAED,OAAO,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,gBAAgB;IAAtB;QACY,yBAAoB,GAAc,EAAE,CAAA;QACpC,kCAA6B,GAAc,EAAE,CAAA;QAC7C,4CAAuC,GAAc,EAAE,CAAA;QACvD,qBAAgB,GAAc,EAAE,CAAA;QAChC,8BAAyB,GAAc,EAAE,CAAA;QACzC,yBAAoB,GAAc,EAAE,CAAA;IA2ChD,CAAC;IAzCG,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,oBAAoB,CAAA;IACpC,CAAC;IACD,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,6BAA6B,CAAA;IAC7C,CAAC;IACD,IAAI,4BAA4B;QAC5B,OAAO,IAAI,CAAC,uCAAuC,CAAA;IACvD,CAAC;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IACD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,yBAAyB,CAAA;IACzC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,oBAAoB,CAAA;IACpC,CAAC;IAEM,sBAAsB;
|
|
1
|
+
{"version":3,"file":"DatabaseAccounts.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/DatabaseAccounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,13 +130,8 @@ class DatabasePopulator {
|
|
|
130
130
|
}
|
|
131
131
|
await this.changeSigner(accountMnemonic(account));
|
|
132
132
|
const tasks = new Tasks(this.mockEnv);
|
|
133
|
-
// const providerMaxFee = await tasks.contractApi.getProviderMaxFee()
|
|
134
|
-
//
|
|
135
|
-
// console.log(providerMaxFee)
|
|
136
|
-
// process.exit()
|
|
137
133
|
await tasks.contract.tx.providerRegister(_url, PROVIDER_FEE, PROVIDER_PAYEE);
|
|
138
134
|
const provider = (await tasks.contract.query.getProvider(accountAddress(account))).value.unwrap().unwrap();
|
|
139
|
-
//console.log('Registered provider', provider)
|
|
140
135
|
if (!noPush) {
|
|
141
136
|
this._registeredProviders.push(account);
|
|
142
137
|
}
|
|
@@ -151,8 +146,6 @@ class DatabasePopulator {
|
|
|
151
146
|
await this.changeSigner(account);
|
|
152
147
|
const tasks = new Tasks(this.mockEnv);
|
|
153
148
|
await tasks.contract.tx.providerUpdate(Array.from(stringToU8a(url)), createType(this.mockEnv.getContractInterface().abi.registry, 'Balance', PROVIDER_FEE), PROVIDER_PAYEE, { value: this.stakeAmount });
|
|
154
|
-
//const provider = await tasks.contractApi.getProviderDetails(accountAddress(account))
|
|
155
|
-
//console.log('provider', provider)
|
|
156
149
|
}
|
|
157
150
|
catch (e) {
|
|
158
151
|
throw this.createError(e, this.updateProvider.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabasePopulator.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/DatabasePopulator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatabasePopulator.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/DatabasePopulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
// Copyright 2021-2023 Prosopo (UK) Ltd.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
1
|
import { Abi } from '@polkadot/api-contract/Abi';
|
|
15
2
|
import { hexToU8a } from '@polkadot/util/hex';
|
|
16
3
|
import { isWasm } from '@polkadot/util/is';
|
|
17
4
|
import fse from 'fs-extra';
|
|
18
5
|
import path from 'path';
|
|
19
|
-
// TODO use the .contract file instead of the .json and .wasm files. Polkadot-JS apps is also erroring out when using
|
|
20
|
-
// the .wasm and .json files. The .contract file works but I don't know why.
|
|
21
6
|
export async function DappAbiJSON() {
|
|
22
7
|
try {
|
|
23
8
|
const json = JSON.parse(await fse.readFile(path.resolve(__dirname, 'dapp.contract'), { encoding: 'utf8' }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadFiles.js","sourceRoot":"","sources":["../../../../src/tests/dataUtils/dapp-example-contract/loadFiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadFiles.js","sourceRoot":"","sources":["../../../../src/tests/dataUtils/dapp-example-contract/loadFiles.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,IAAI;QACA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;KACvB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAA;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC1B,MAAM,IAAI,GAAkB,KAAK,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;IAC3G,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QACnB,OAAO,SAAS,CAAA;KACnB;SAAM;QACH,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;AACL,CAAC"}
|
|
@@ -2,22 +2,7 @@
|
|
|
2
2
|
import { AnyNumber } from '@polkadot/types-codec/types';
|
|
3
3
|
import { BN } from '@polkadot/util/bn';
|
|
4
4
|
import { ProsopoEnvironment } from '@prosopo/types-env';
|
|
5
|
-
/** Send funds from one of the development accounts to another account. */
|
|
6
5
|
export declare function sendFunds(env: ProsopoEnvironment, address: string, who: string, amount: AnyNumber): Promise<void>;
|
|
7
|
-
/**
|
|
8
|
-
* Takes the providerStakeDefault and works out if multiplying it by 100 or
|
|
9
|
-
* stakeMultiplier is greater than the maxStake. If it is, it returns the maxStake
|
|
10
|
-
* If chain decimals = 12, 1 UNIT = 1e12
|
|
11
|
-
* @param env
|
|
12
|
-
* @param providerStakeDefault
|
|
13
|
-
* @param stakeMultiplier
|
|
14
|
-
*/
|
|
15
6
|
export declare function getStakeAmount(env: ProsopoEnvironment, providerStakeDefault: BN, stakeMultiplier?: number): BN;
|
|
16
|
-
/**
|
|
17
|
-
* Send funds to a test account, adding the max of 2 * stakeAmount or 1000 * the
|
|
18
|
-
* existential deposit
|
|
19
|
-
* @param env
|
|
20
|
-
* @param stakeAmount
|
|
21
|
-
*/
|
|
22
7
|
export declare function getSendAmount(env: ProsopoEnvironment, stakeAmount: BN): BN;
|
|
23
8
|
//# sourceMappingURL=funds.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funds.d.ts","sourceRoot":"","sources":["../../../src/tests/dataUtils/funds.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"funds.d.ts","sourceRoot":"","sources":["../../../src/tests/dataUtils/funds.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAiBvD,wBAAsB,SAAS,CAC3B,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Df;AAUD,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,EAAE,CAoB9G;AAQD,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAS1E"}
|
|
@@ -4,14 +4,11 @@ import { at } from '@prosopo/util';
|
|
|
4
4
|
import { dispatchErrorHandler, oneUnit } from '@prosopo/contract';
|
|
5
5
|
const devMnemonics = ['//Alice', '//Bob', '//Charlie', '//Dave', '//Eve', '//Ferdie'];
|
|
6
6
|
let current = -1;
|
|
7
|
-
const MAX_ACCOUNT_FUND = 10000;
|
|
8
|
-
/** Cycle through the dev mnemonics so as not to deplete the funds too quickly
|
|
9
|
-
*/
|
|
7
|
+
const MAX_ACCOUNT_FUND = 10000;
|
|
10
8
|
function getNextMnemonic() {
|
|
11
9
|
current = (current + 1) % devMnemonics.length;
|
|
12
10
|
return at(devMnemonics, current);
|
|
13
11
|
}
|
|
14
|
-
/** Send funds from one of the development accounts to another account. */
|
|
15
12
|
export async function sendFunds(env, address, who, amount) {
|
|
16
13
|
await env.getApi().isReady;
|
|
17
14
|
const mnemonic = getNextMnemonic();
|
|
@@ -29,7 +26,6 @@ export async function sendFunds(env, address, who, amount) {
|
|
|
29
26
|
const unit = oneUnit(env.getApi());
|
|
30
27
|
const unitAmount = new BN(amount.toString()).div(unit).toString();
|
|
31
28
|
env.logger.debug('Sending funds from`', pair.address, '`to`', address, '`Amount:`', unitAmount, '`UNIT. Free balance:`', previousFree.div(unit).toString(), '`UNIT');
|
|
32
|
-
// eslint-disable-next-line no-async-promise-executor
|
|
33
29
|
const result = new Promise(async (resolve, reject) => {
|
|
34
30
|
const unsub = await api.tx.balances
|
|
35
31
|
.transfer(address, amount)
|
|
@@ -61,21 +57,9 @@ export async function sendFunds(env, address, who, amount) {
|
|
|
61
57
|
throw new ProsopoEnvError('DEVELOPER.FUNDING_FAILED', undefined, undefined, { e });
|
|
62
58
|
});
|
|
63
59
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Takes the providerStakeDefault and works out if multiplying it by 100 or
|
|
66
|
-
* stakeMultiplier is greater than the maxStake. If it is, it returns the maxStake
|
|
67
|
-
* If chain decimals = 12, 1 UNIT = 1e12
|
|
68
|
-
* @param env
|
|
69
|
-
* @param providerStakeDefault
|
|
70
|
-
* @param stakeMultiplier
|
|
71
|
-
*/
|
|
72
60
|
export function getStakeAmount(env, providerStakeDefault, stakeMultiplier) {
|
|
73
61
|
const unit = oneUnit(env.getApi());
|
|
74
|
-
// We want to give each provider 100 * the required stake or 1 UNIT, whichever is greater, so that gas fees can be
|
|
75
|
-
// refunded to the Dapp User from within the contract
|
|
76
62
|
const stake100 = BN.max(providerStakeDefault.muln(stakeMultiplier || 100), env.getApi().consts.balances.existentialDeposit.toBn());
|
|
77
|
-
// We don't want to stake any more than MAX_ACCOUNT_FUND * existentialDeposit UNIT per provider as the test account
|
|
78
|
-
// funds will be depleted too quickly
|
|
79
63
|
const maxStake = env.getApi().consts.balances.existentialDeposit.toBn().muln(MAX_ACCOUNT_FUND);
|
|
80
64
|
if (stake100.lt(maxStake)) {
|
|
81
65
|
env.logger.debug('Setting stake amount to', stake100.div(unit).toNumber(), 'UNIT');
|
|
@@ -84,17 +68,10 @@ export function getStakeAmount(env, providerStakeDefault, stakeMultiplier) {
|
|
|
84
68
|
env.logger.debug('Setting stake amount to', maxStake.div(unit).toNumber(), 'UNIT');
|
|
85
69
|
return maxStake;
|
|
86
70
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Send funds to a test account, adding the max of 2 * stakeAmount or 1000 * the
|
|
89
|
-
* existential deposit
|
|
90
|
-
* @param env
|
|
91
|
-
* @param stakeAmount
|
|
92
|
-
*/
|
|
93
71
|
export function getSendAmount(env, stakeAmount) {
|
|
94
72
|
const unit = oneUnit(env.getApi());
|
|
95
73
|
env.logger.debug('Stake amount', stakeAmount.div(unit).toNumber(), 'UNIT');
|
|
96
74
|
let sendAmount = new BN(stakeAmount).muln(2);
|
|
97
|
-
// Should result in each account receiving a minimum of existentialDeposit
|
|
98
75
|
sendAmount = BN.max(sendAmount, env.getApi().consts.balances.existentialDeposit.muln(10000));
|
|
99
76
|
env.logger.debug('Setting send amount to', sendAmount.div(unit).toNumber(), 'UNIT');
|
|
100
77
|
return sendAmount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funds.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/funds.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEjE,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AACrF,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;AAChB,MAAM,gBAAgB,GAAG,KAAK,CAAA
|
|
1
|
+
{"version":3,"file":"funds.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/funds.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,6 @@ async function populateStep(databasePopulator, key, fund, text, userCount, logge
|
|
|
37
37
|
const promise = await promiseQueue(dummyArray.map(() => () => databasePopulator[key](fund)));
|
|
38
38
|
const time = Date.now() - startDate;
|
|
39
39
|
logger.debug(` [ ${msToSecString(time)} ]\n`);
|
|
40
|
-
///console.log('promiseQueue:', promise)
|
|
41
40
|
promise
|
|
42
41
|
.filter(({ error }) => error)
|
|
43
42
|
.forEach(({ error }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populateDatabase.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/populateDatabase.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAqB,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAE5E,OAAO,EAAU,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,iBAAiB,EAAE,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AAEzF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAA;AAUrE,MAAM,CAAC,MAAM,kBAAkB,GAAa;IACxC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI;IAC5B,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,IAAI;IACrC,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,IAAI;IAC/C,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI;IACxB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI;IACjC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI;CAC/B,CAAA;AAED,MAAM,sBAAsB,GAExB;IACA,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC,gBAAgB;IACtE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CAAC,yBAAyB;IACxF,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,6BAA6B,CAAC,mCAAmC;IAC5G,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,6BAA6B,CAAC,YAAY;IAC9D,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,qBAAqB;IAChF,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC,gBAAgB;CACzE,CAAA;AAED,MAAM,kBAAkB,GAAc;IAClC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE;IAC1B,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE;IACnC,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,EAAE;IAC7C,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE;IACtB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAE;IAC/B,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;CAC5B,CAAA;AAED,KAAK,UAAU,YAAY,CACvB,iBAAoC,EACpC,GAAkC,EAClC,IAAa,EACb,IAAY,EACZ,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAElB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IAEnC,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"populateDatabase.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/populateDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
// Copyright (C) 2021-2022 Prosopo (UK) Ltd.
|
|
2
|
-
// This file is part of provider <https://github.com/prosopo/provider>.
|
|
3
|
-
//
|
|
4
|
-
// provider is free software: you can redistribute it and/or modify
|
|
5
|
-
// it under the terms of the GNU General Public License as published by
|
|
6
|
-
// the Free Software Foundation, either version 3 of the License, or
|
|
7
|
-
// (at your option) any later version.
|
|
8
|
-
//
|
|
9
|
-
// provider is distributed in the hope that it will be useful,
|
|
10
|
-
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
-
// GNU General Public License for more details.
|
|
13
|
-
//
|
|
14
|
-
// You should have received a copy of the GNU General Public License
|
|
15
1
|
import { AccountKey } from '../dataUtils/DatabaseAccounts.js';
|
|
16
2
|
import { BN } from '@polkadot/util/bn';
|
|
17
3
|
import { CaptchaMerkleTree, computeCaptchaSolutionHash, computePendingRequestHash, datasetWithSolutionHashes, } from '@prosopo/datasets';
|
|
@@ -59,22 +45,14 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
59
45
|
if (context.env && 'db' in context.env)
|
|
60
46
|
await context.env.db?.close();
|
|
61
47
|
});
|
|
62
|
-
/** Gets some static solved captchas and constructions captcha solutions from them
|
|
63
|
-
* Computes the request hash for these captchas and the dappUser and then stores the request hash in the mock db
|
|
64
|
-
* @return {CaptchaSolution[], string} captchaSolutions and requestHash
|
|
65
|
-
*/
|
|
66
48
|
async function createMockCaptchaSolutionsAndRequestHash(env) {
|
|
67
|
-
// There must exist a dappUser who can receive a captcha
|
|
68
49
|
const dappUserAccount = await getUser(env, AccountKey.dappUsers);
|
|
69
|
-
// There must exist a provider with a dataset for us to get a random dataset with solutions
|
|
70
50
|
const providerAccount = await getUser(env, AccountKey.providersWithStakeAndDataset);
|
|
71
|
-
// There must exist a dapp that is staked who can use the service
|
|
72
51
|
const dappContractAccount = await getUser(env, AccountKey.dappsWithStake);
|
|
73
52
|
const tasks = await getSignedTasks(env, providerAccount);
|
|
74
53
|
const providerDetails = (await tasks.contract.query.getProvider(accountAddress(providerAccount))).value
|
|
75
54
|
.unwrap()
|
|
76
55
|
.unwrap();
|
|
77
|
-
//await sleep(132000)
|
|
78
56
|
const solvedCaptchas = await env.db.getRandomSolvedCaptchasFromSingleDataset(providerDetails.datasetId.toString(), 2);
|
|
79
57
|
const network = env.config.networks[env.config.defaultNetwork];
|
|
80
58
|
const pair = await getPairAsync(network, accountMnemonic(dappUserAccount), '');
|
|
@@ -142,7 +120,6 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
142
120
|
test('Provider add dataset with too few captchas will fail', async ({ env }) => {
|
|
143
121
|
const providerAccount = await getUser(env, AccountKey.providersWithStake);
|
|
144
122
|
const tasks = await getSignedTasks(env, providerAccount);
|
|
145
|
-
// copy captchaData and remove all but one captcha
|
|
146
123
|
const dataset = { ...datasetWithIndexSolutions };
|
|
147
124
|
dataset.captchas = dataset.captchas.slice(0, 1);
|
|
148
125
|
try {
|
|
@@ -156,7 +133,6 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
156
133
|
const providerAccount = await getUser(env, AccountKey.providersWithStake);
|
|
157
134
|
const tasks = await getSignedTasks(env, providerAccount);
|
|
158
135
|
const dataset = { ...datasetWithIndexSolutions };
|
|
159
|
-
// remove solution field from each captcha
|
|
160
136
|
dataset.captchas = dataset.captchas.map((captcha) => {
|
|
161
137
|
const { solution, ...rest } = captcha;
|
|
162
138
|
return rest;
|
|
@@ -281,10 +257,8 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
281
257
|
userSignature: [...userSignature],
|
|
282
258
|
});
|
|
283
259
|
const commitment = (await providerTasks.contract.query.getCommit(commitmentId)).value.unwrap().unwrap();
|
|
284
|
-
// check the timestamp
|
|
285
260
|
const completedAtCheck = parseInt(commitment.completedAt.toString().replace(',', ''));
|
|
286
261
|
expect(completedAtCheck).to.be.above(0);
|
|
287
|
-
// check how much time passed after successful completion
|
|
288
262
|
const lastCorrectCaptcha = (await providerTasks.contract.query.dappOperatorLastCorrectCaptcha(accountAddress(dappUserAccount))).value
|
|
289
263
|
.unwrap()
|
|
290
264
|
.unwrap();
|
|
@@ -351,17 +325,6 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
351
325
|
const dappAfter = (await tasks.contract.query.getDapp(dappContractAddress)).value.unwrap().unwrap();
|
|
352
326
|
expect(dappBefore.balance.toNumber() + value.toNumber()).to.equal(dappAfter.balance.toNumber());
|
|
353
327
|
});
|
|
354
|
-
//TODO reinstate when https://github.com/polkadot-js/api/issues/5410 is resolved
|
|
355
|
-
// it.only('Dapp accounts', async ({env}): Promise<void> => {
|
|
356
|
-
// const account = await getUser(env, AccountKey.dapps)
|
|
357
|
-
//
|
|
358
|
-
// const tasks = await changeSigner(env, account)
|
|
359
|
-
//
|
|
360
|
-
// const result = await tasks.contractApi.getDappAccounts()
|
|
361
|
-
// console.log(result)
|
|
362
|
-
//
|
|
363
|
-
// expect(result).to.be.an('array')
|
|
364
|
-
// })
|
|
365
328
|
test('Captchas are correctly formatted before being passed to the API layer', async ({ env }) => {
|
|
366
329
|
const dappUserAccount = await getUser(env, AccountKey.dappUsers);
|
|
367
330
|
const providerAccount = await getUser(env, AccountKey.providersWithStakeAndDataset);
|
|
@@ -377,7 +340,6 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
377
340
|
expect(captchas[0]).to.not.have.nested.property('captcha.solution');
|
|
378
341
|
});
|
|
379
342
|
test('Captcha proofs are returned if commitment found and solution is correct', async ({ env }) => {
|
|
380
|
-
// Construct a pending request hash between dappUserAccount, providerAccount and dappContractAccount
|
|
381
343
|
const { captchaSolutions, requestHash, dappUserAccount, providerAccount, dappContractAccount, userSignature } = await createMockCaptchaSolutionsAndRequestHash(env);
|
|
382
344
|
const dappUserTasks = await getSignedTasks(env, dappUserAccount);
|
|
383
345
|
const tree = new CaptchaMerkleTree();
|
|
@@ -390,7 +352,6 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
390
352
|
.unwrap();
|
|
391
353
|
const completedAt = (await env.getApi().rpc.chain.getBlock()).block.header.number.toNumber();
|
|
392
354
|
const requestedAt = completedAt - 1;
|
|
393
|
-
// next part contains internal contract calls that must be run by provider
|
|
394
355
|
const providerTasks = await getSignedTasks(env, providerAccount);
|
|
395
356
|
await providerTasks.contract.tx.providerCommit({
|
|
396
357
|
dappContract: accountContract(dappContractAccount),
|
|
@@ -404,7 +365,6 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
404
365
|
userSignature: [...userSignature],
|
|
405
366
|
});
|
|
406
367
|
const commitment = (await providerTasks.contract.query.getCommit(commitmentId)).value.unwrap().unwrap();
|
|
407
|
-
// next part contains internal contract calls that must be run by provider
|
|
408
368
|
await env.getApi().rpc.chain.getBlockHash(commitment.completedAt);
|
|
409
369
|
const result = await providerTasks.dappUserSolution(accountAddress(dappUserAccount), accountContract(dappContractAccount), requestHash, JSON.parse(JSON.stringify(captchaSolutionsSalted)), u8aToHex(userSignature));
|
|
410
370
|
expect(result.captchas.length).to.be.eq(2);
|
|
@@ -413,104 +373,10 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
413
373
|
expect(filteredResult.proof).to.deep.eq(expectedProof);
|
|
414
374
|
expect(filteredResult.captchaId).to.eq(at(captchaSolutionsSalted, 0).captchaId);
|
|
415
375
|
});
|
|
416
|
-
// test('Dapp User sending an invalid captchas causes error', async ({env}): Promise<void> => {
|
|
417
|
-
// const { requestHash } = await createMockCaptchaSolutionsAndRequestHash( env, pairType, ss58Format );
|
|
418
|
-
//
|
|
419
|
-
// await env.getContractInterface()!.changeSigner(env, provider.mnemonic as string);
|
|
420
|
-
// const providerTasks = new Tasks(env);
|
|
421
|
-
// const captchaSolutions = [
|
|
422
|
-
// { captchaId: 'blah', solution: [21], salt: 'blah' }
|
|
423
|
-
// ];
|
|
424
|
-
// const tree = new CaptchaMerkleTree();
|
|
425
|
-
// const captchasHashed = captchaSolutions.map((captcha) =>
|
|
426
|
-
// computeCaptchaSolutionHash(captcha)
|
|
427
|
-
// );
|
|
428
|
-
//
|
|
429
|
-
// tree.build(captchasHashed);
|
|
430
|
-
// const solutionPromise = providerTasks.dappUserSolution(
|
|
431
|
-
// dappUser.address,
|
|
432
|
-
// dapp.contractAccount as string,
|
|
433
|
-
// requestHash,
|
|
434
|
-
// JSON.parse(JSON.stringify(captchaSolutions)) as JSON
|
|
435
|
-
// );
|
|
436
|
-
//
|
|
437
|
-
// solutionPromise.catch((e) =>
|
|
438
|
-
// e.message.should.match(`/${ERRORS.CAPTCHA.INVALID_CAPTCHA_ID.message}/`)
|
|
439
|
-
// );
|
|
440
|
-
// });
|
|
441
|
-
//
|
|
442
|
-
// test('Dapp User sending solutions without committing to blockchain causes error', async ({env}): Promise<void> => {
|
|
443
|
-
// const { captchaSolutions, requestHash } = await createMockCaptchaSolutionsAndRequestHash( env, pairType, ss58Format );
|
|
444
|
-
//
|
|
445
|
-
// await env.getContractInterface()!.changeSigner(env, provider.mnemonic as string);
|
|
446
|
-
// const providerTasks = new Tasks(env);
|
|
447
|
-
// const tree = new CaptchaMerkleTree();
|
|
448
|
-
// const captchasHashed = captchaSolutions.map((captcha) =>
|
|
449
|
-
// computeCaptchaSolutionHash(captcha)
|
|
450
|
-
// );
|
|
451
|
-
//
|
|
452
|
-
// tree.build(captchasHashed);
|
|
453
|
-
// const solutionPromise = providerTasks.dappUserSolution(
|
|
454
|
-
// dappUser.address,
|
|
455
|
-
// dapp.contractAccount as string,
|
|
456
|
-
// requestHash,
|
|
457
|
-
// JSON.parse(JSON.stringify(captchaSolutions)) as JSON
|
|
458
|
-
// );
|
|
459
|
-
//
|
|
460
|
-
// solutionPromise.catch((e) =>
|
|
461
|
-
// e.message.should.match(
|
|
462
|
-
// `/${ERRORS.CONTRACT.CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST.message}/`
|
|
463
|
-
// )
|
|
464
|
-
// );
|
|
465
|
-
// });
|
|
466
|
-
//
|
|
467
|
-
// test('No proofs are returned if commitment found and solution is incorrect', async ({env}): Promise<void> => {
|
|
468
|
-
// const { captchaSolutions, requestHash } = await createMockCaptchaSolutionsAndRequestHash( env, pairType, ss58Format );
|
|
469
|
-
// const captchaSolutionsBad = captchaSolutions.map((original) => ({
|
|
470
|
-
// ...original,
|
|
471
|
-
// solution: [3]
|
|
472
|
-
// }));
|
|
473
|
-
// const tree = new CaptchaMerkleTree();
|
|
474
|
-
// const salt = randomAsHex();
|
|
475
|
-
// // Have to salt the solutions with random salt each time otherwise we end up with the same commitment for
|
|
476
|
-
// // multiple users
|
|
477
|
-
// const captchaSolutionsSalted = captchaSolutionsBad.map((captcha) => ({
|
|
478
|
-
// ...captcha,
|
|
479
|
-
// salt: salt
|
|
480
|
-
// }));
|
|
481
|
-
// const solutionsHashed = captchaSolutionsSalted.map((captcha) =>
|
|
482
|
-
// computeCaptchaSolutionHash(captcha)
|
|
483
|
-
// );
|
|
484
|
-
//
|
|
485
|
-
// tree.build(solutionsHashed);
|
|
486
|
-
// const commitmentId = tree.root!.hash;
|
|
487
|
-
//
|
|
488
|
-
// await env.getContractInterface()!.changeSigner(env, dappUser.mnemonic);
|
|
489
|
-
// const dappUserTasks = new Tasks(env);
|
|
490
|
-
//
|
|
491
|
-
// await ,dappUserTasks.contractApi.dappUserCommtest(
|
|
492
|
-
// dapp.contractAccount as string,
|
|
493
|
-
// datasetId as string,
|
|
494
|
-
// commitmentId,
|
|
495
|
-
// provider.address as string
|
|
496
|
-
// );
|
|
497
|
-
// // next part contains internal contract calls that must be run by provider
|
|
498
|
-
// await env.getContractInterface()!.changeSigner(env, provider.mnemonic as string);
|
|
499
|
-
// const providerTasks = new Tasks(env);
|
|
500
|
-
// const result = await providerTasks.dappUserSolution(
|
|
501
|
-
// dappUser.address,
|
|
502
|
-
// dapp.contractAccount as string,
|
|
503
|
-
// requestHash,
|
|
504
|
-
// JSON.parse(JSON.stringify(captchaSolutionsSalted)) as JSON
|
|
505
|
-
// );
|
|
506
|
-
//
|
|
507
|
-
// expect(result!.length).to.be.eq(0);
|
|
508
|
-
// });
|
|
509
376
|
test('Validates the received captchas length', async ({ env }) => {
|
|
510
377
|
const providerAccount = await getUser(env, AccountKey.providersWithStakeAndDataset);
|
|
511
378
|
const { captchaSolutions } = await createMockCaptchaSolutionsAndRequestHash(env);
|
|
512
379
|
const providerTasks = await getSignedTasks(env, providerAccount);
|
|
513
|
-
// All of the captchaIds present in the solutions should be in the database
|
|
514
380
|
expect(async function () {
|
|
515
381
|
await providerTasks.validateReceivedCaptchasAgainstStoredCaptchas(captchaSolutions);
|
|
516
382
|
}).to.not.throw();
|
|
@@ -584,26 +450,12 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
584
450
|
});
|
|
585
451
|
test('Get random captchas and request hash', async ({ env }) => {
|
|
586
452
|
try {
|
|
587
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
588
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
589
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
590
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
591
|
-
// NOTE this test can fail if the contract contains Providers that
|
|
592
|
-
// are not present in the database. It can also fail if the contract
|
|
593
|
-
// contains providers that have loaded a different dataset to the
|
|
594
|
-
// one imported from captchasData (above)
|
|
595
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
596
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
597
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
598
|
-
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
599
453
|
const dappUserAccount = await getUser(env, AccountKey.dappUsers);
|
|
600
|
-
// there must be at least one provider in the contract and db
|
|
601
454
|
await getUser(env, AccountKey.providersWithStakeAndDataset);
|
|
602
455
|
const dappUserTasks = await getSignedTasks(env, dappUserAccount);
|
|
603
456
|
const solvedCaptchaCount = env.config.captchas.solved.count;
|
|
604
457
|
const unsolvedCaptchaCount = env.config.captchas.unsolved.count;
|
|
605
|
-
const { captchas, requestHash } = await dappUserTasks.getRandomCaptchasAndRequestHash(datasetWithSolutionHashes.datasetId.toString(),
|
|
606
|
-
hexHash(accountAddress(dappUserAccount)));
|
|
458
|
+
const { captchas, requestHash } = await dappUserTasks.getRandomCaptchasAndRequestHash(datasetWithSolutionHashes.datasetId.toString(), hexHash(accountAddress(dappUserAccount)));
|
|
607
459
|
expect(captchas.length).to.equal(solvedCaptchaCount + unsolvedCaptchaCount);
|
|
608
460
|
const pendingRequest = env.db?.getDappUserPending(requestHash);
|
|
609
461
|
expect(pendingRequest).to.not.be.null;
|
|
@@ -660,63 +512,5 @@ describe.sequential('CONTRACT TASKS', async function () {
|
|
|
660
512
|
const isError = (await tasks.contract.tx.providerDeregister()).result?.isError;
|
|
661
513
|
expect(isError).to.be.false;
|
|
662
514
|
});
|
|
663
|
-
// TODO find out what is making this fail occasionally
|
|
664
|
-
// test('Calculate captcha solution on the basis of Dapp users provided solutions', async ({env}): Promise<void> => {
|
|
665
|
-
// const providerAccount = await getUser(env, AccountKey.providersWithStakeAndDataset)
|
|
666
|
-
// const providerTasks = await getSignedTasks(env, providerAccount)
|
|
667
|
-
// const providerDetails = await providerTasks.contractApi.getProvider(accountAddress(providerAccount))
|
|
668
|
-
// const dappAccount = await getUser(env, AccountKey.dapps)
|
|
669
|
-
//
|
|
670
|
-
// const randomCaptchasResult = await providerTasks.db.getRandomCaptcha(false, providerDetails.datasetId)
|
|
671
|
-
// if (randomCaptchasResult) {
|
|
672
|
-
// const unsolvedCaptcha = randomCaptchasResult[0]
|
|
673
|
-
// const solution = [
|
|
674
|
-
// unsolvedCaptcha.items[0].hash || '',
|
|
675
|
-
// unsolvedCaptcha.items[2].hash || '',
|
|
676
|
-
// unsolvedCaptcha.items[3].hash || '',
|
|
677
|
-
// ]
|
|
678
|
-
// const captchaSolution: CaptchaSolution = { ...unsolvedCaptcha, solution, salt: 'blah' }
|
|
679
|
-
// const commitments: string[] = []
|
|
680
|
-
// for (let count = 0; count < 10; count++) {
|
|
681
|
-
// const commitmentId = hexHash(`test${count}`)
|
|
682
|
-
// commitments.push(commitmentId)
|
|
683
|
-
// await providerTasks.db.storeDappUserSolution(
|
|
684
|
-
// [captchaSolution],
|
|
685
|
-
// commitmentId,
|
|
686
|
-
// randomAsHex(),
|
|
687
|
-
// accountContract(dappAccount),
|
|
688
|
-
// providerDetails.datasetId.toString()
|
|
689
|
-
// )
|
|
690
|
-
// const userSolutions = await providerTasks.db.getDappUserSolutionById(commitmentId)
|
|
691
|
-
// expect(userSolutions).to.be.not.empty
|
|
692
|
-
// }
|
|
693
|
-
//
|
|
694
|
-
// const result = await providerTasks.calculateCaptchaSolutions()
|
|
695
|
-
// expect(result).to.equal(1)
|
|
696
|
-
//
|
|
697
|
-
// for (const commitment of commitments) {
|
|
698
|
-
// const userSolution = await providerTasks.db.getDappUserSolutionById(commitment)
|
|
699
|
-
// expect(userSolution?.processed).to.be.true
|
|
700
|
-
// }
|
|
701
|
-
//
|
|
702
|
-
// const providerDetailsNew = await providerTasks.contractApi.getProvider(
|
|
703
|
-
// accountAddress(providerAccount)
|
|
704
|
-
// )
|
|
705
|
-
//
|
|
706
|
-
// const captchas = await providerTasks.db.getAllCaptchasByDatasetId(providerDetailsNew.datasetId.toString())
|
|
707
|
-
// expect(captchas?.every((captcha) => captcha.datasetId === providerDetailsNew.datasetId.toString())).to.be
|
|
708
|
-
// .true
|
|
709
|
-
//
|
|
710
|
-
// expect(providerDetails.datasetId).to.not.equal(providerDetailsNew.datasetId)
|
|
711
|
-
//
|
|
712
|
-
// expect(Promise.resolve(providerTasks.db.getCaptchaById([unsolvedCaptcha.captchaId]))).to.be.rejected.then(
|
|
713
|
-
// (error) => {
|
|
714
|
-
// expect(error.message).to.equal('Failed to get captcha')
|
|
715
|
-
// }
|
|
716
|
-
// )
|
|
717
|
-
// } else {
|
|
718
|
-
// throw new ProsopoEnvError('DATABASE.CAPTCHA_GET_FAILED')
|
|
719
|
-
// }
|
|
720
|
-
// })
|
|
721
515
|
});
|
|
722
516
|
//# sourceMappingURL=tasks.test.js.map
|