@prosopo/provider 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/contracts/captcha/dist/contract-info/captcha.cjs +2 -2
- package/dist/cjs/util.cjs +2 -2
- package/dist/tests/accounts.d.ts +11 -0
- package/dist/tests/accounts.d.ts.map +1 -0
- package/dist/tests/accounts.js +47 -0
- package/dist/tests/accounts.js.map +1 -0
- package/dist/tests/batch/commitments.test.d.ts +6 -0
- package/dist/tests/batch/commitments.test.d.ts.map +1 -0
- package/dist/tests/batch/commitments.test.js +217 -0
- package/dist/tests/batch/commitments.test.js.map +1 -0
- package/dist/tests/contract/helpers.test.d.ts +6 -0
- package/dist/tests/contract/helpers.test.d.ts.map +1 -0
- package/dist/tests/contract/helpers.test.js +58 -0
- package/dist/tests/contract/helpers.test.js.map +1 -0
- package/dist/tests/data/captchas.d.ts +37 -0
- package/dist/tests/data/captchas.d.ts.map +1 -0
- package/dist/tests/data/captchas.js +902 -0
- package/dist/tests/data/captchas.js.map +1 -0
- package/dist/tests/data/captchas1.json +53 -0
- package/dist/tests/data/captchas2.json +69 -0
- package/dist/tests/data/captchas3.json +54 -0
- package/dist/tests/data/captchas4.json +53 -0
- package/dist/tests/dataUtils/DatabaseAccounts.d.ts +35 -0
- package/dist/tests/dataUtils/DatabaseAccounts.d.ts.map +1 -0
- package/dist/tests/dataUtils/DatabaseAccounts.js +85 -0
- package/dist/tests/dataUtils/DatabaseAccounts.js.map +1 -0
- package/dist/tests/dataUtils/DatabasePopulator.d.ts +66 -0
- package/dist/tests/dataUtils/DatabasePopulator.d.ts.map +1 -0
- package/dist/tests/dataUtils/DatabasePopulator.js +264 -0
- package/dist/tests/dataUtils/DatabasePopulator.js.map +1 -0
- package/dist/tests/dataUtils/dapp-example-contract/dapp.json +648 -0
- package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts +4 -0
- package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts.map +1 -0
- package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js +41 -0
- package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js.map +1 -0
- package/dist/tests/dataUtils/funds.d.ts +23 -0
- package/dist/tests/dataUtils/funds.d.ts.map +1 -0
- package/dist/tests/dataUtils/funds.js +102 -0
- package/dist/tests/dataUtils/funds.js.map +1 -0
- package/dist/tests/dataUtils/populateDatabase.d.ts +15 -0
- package/dist/tests/dataUtils/populateDatabase.d.ts.map +1 -0
- package/dist/tests/dataUtils/populateDatabase.js +76 -0
- package/dist/tests/dataUtils/populateDatabase.js.map +1 -0
- package/dist/tests/getUser.d.ts +5 -0
- package/dist/tests/getUser.d.ts.map +1 -0
- package/dist/tests/getUser.js +18 -0
- package/dist/tests/getUser.js.map +1 -0
- package/dist/tests/tasks/tasks.test.d.ts +7 -0
- package/dist/tests/tasks/tasks.test.d.ts.map +1 -0
- package/dist/tests/tasks/tasks.test.js +719 -0
- package/dist/tests/tasks/tasks.test.js.map +1 -0
- package/dist/tests/util.test.d.ts +2 -0
- package/dist/tests/util.test.d.ts.map +1 -0
- package/dist/tests/util.test.js +51 -0
- package/dist/tests/util.test.js.map +1 -0
- package/dist/util.js +2 -2
- package/dist/util.js.map +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadFiles.js","sourceRoot":"","sources":["../../../../src/tests/dataUtils/dapp-example-contract/loadFiles.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,qHAAqH;AACrH,8EAA8E;AAE9E,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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import { AnyNumber } from '@polkadot/types-codec/types';
|
|
3
|
+
import { BN } from '@polkadot/util';
|
|
4
|
+
import { ProsopoEnvironment } from '@prosopo/types-env';
|
|
5
|
+
/** Send funds from one of the development accounts to another account. */
|
|
6
|
+
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
|
+
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
|
+
export declare function getSendAmount(env: ProsopoEnvironment, stakeAmount: BN): BN;
|
|
23
|
+
//# sourceMappingURL=funds.d.ts.map
|
|
@@ -0,0 +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,gBAAgB,CAAA;AAGnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAgBvD,0EAA0E;AAC1E,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;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,EAAE,CAoB9G;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAS1E"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { BN } from '@polkadot/util';
|
|
2
|
+
import { ProsopoEnvError } from '@prosopo/common';
|
|
3
|
+
import { at } from '@prosopo/util';
|
|
4
|
+
import { dispatchErrorHandler, oneUnit } from '@prosopo/contract';
|
|
5
|
+
const devMnemonics = ['//Alice', '//Bob', '//Charlie', '//Dave', '//Eve', '//Ferdie'];
|
|
6
|
+
let current = -1;
|
|
7
|
+
const MAX_ACCOUNT_FUND = 10000; // 10000 UNIT
|
|
8
|
+
/** Cycle through the dev mnemonics so as not to deplete the funds too quickly
|
|
9
|
+
*/
|
|
10
|
+
function getNextMnemonic() {
|
|
11
|
+
current = (current + 1) % devMnemonics.length;
|
|
12
|
+
return at(devMnemonics, current);
|
|
13
|
+
}
|
|
14
|
+
/** Send funds from one of the development accounts to another account. */
|
|
15
|
+
export async function sendFunds(env, address, who, amount) {
|
|
16
|
+
await env.getApi().isReady;
|
|
17
|
+
const mnemonic = getNextMnemonic();
|
|
18
|
+
const pair = env.keyring.addFromMnemonic(mnemonic);
|
|
19
|
+
const nonce = await env.getApi().rpc.system.accountNextIndex(pair.address);
|
|
20
|
+
const { data: { free: previousFree }, } = await env.getContractInterface().api.query.system.account(pair.address);
|
|
21
|
+
if (previousFree.lt(new BN(amount.toString()))) {
|
|
22
|
+
throw new ProsopoEnvError('DEVELOPER.BALANCE_TOO_LOW', undefined, undefined, {
|
|
23
|
+
mnemonic,
|
|
24
|
+
previousFree: previousFree.toString(),
|
|
25
|
+
amount: amount.toString(),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const api = env.getContractInterface().api;
|
|
29
|
+
const unit = oneUnit(env.getApi());
|
|
30
|
+
const unitAmount = new BN(amount.toString()).div(unit).toString();
|
|
31
|
+
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
|
+
const result = new Promise(async (resolve, reject) => {
|
|
34
|
+
const unsub = await api.tx.balances
|
|
35
|
+
.transfer(address, amount)
|
|
36
|
+
.signAndSend(pair, { nonce }, (result) => {
|
|
37
|
+
if (result.status.isInBlock || result.status.isFinalized) {
|
|
38
|
+
result.events
|
|
39
|
+
.filter(({ event: { section } }) => section === 'system')
|
|
40
|
+
.forEach((event) => {
|
|
41
|
+
const { event: { method }, } = event;
|
|
42
|
+
if (method === 'ExtrinsicFailed') {
|
|
43
|
+
unsub();
|
|
44
|
+
reject(dispatchErrorHandler(api.registry, event));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
unsub();
|
|
48
|
+
resolve(result);
|
|
49
|
+
}
|
|
50
|
+
else if (result.isError) {
|
|
51
|
+
unsub();
|
|
52
|
+
reject(result);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
await result
|
|
57
|
+
.then((result) => {
|
|
58
|
+
env.logger.debug(who, 'sent amount', unitAmount, 'UNIT at tx hash ', result.status.asInBlock.toHex());
|
|
59
|
+
})
|
|
60
|
+
.catch((e) => {
|
|
61
|
+
throw new ProsopoEnvError('DEVELOPER.FUNDING_FAILED', undefined, undefined, { e });
|
|
62
|
+
});
|
|
63
|
+
}
|
|
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
|
+
export function getStakeAmount(env, providerStakeDefault, stakeMultiplier) {
|
|
73
|
+
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
|
+
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
|
+
const maxStake = env.getApi().consts.balances.existentialDeposit.toBn().muln(MAX_ACCOUNT_FUND);
|
|
80
|
+
if (stake100.lt(maxStake)) {
|
|
81
|
+
env.logger.debug('Setting stake amount to', stake100.div(unit).toNumber(), 'UNIT');
|
|
82
|
+
return stake100;
|
|
83
|
+
}
|
|
84
|
+
env.logger.debug('Setting stake amount to', maxStake.div(unit).toNumber(), 'UNIT');
|
|
85
|
+
return maxStake;
|
|
86
|
+
}
|
|
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
|
+
export function getSendAmount(env, stakeAmount) {
|
|
94
|
+
const unit = oneUnit(env.getApi());
|
|
95
|
+
env.logger.debug('Stake amount', stakeAmount.div(unit).toNumber(), 'UNIT');
|
|
96
|
+
let sendAmount = new BN(stakeAmount).muln(2);
|
|
97
|
+
// Should result in each account receiving a minimum of existentialDeposit
|
|
98
|
+
sendAmount = BN.max(sendAmount, env.getApi().consts.balances.existentialDeposit.muln(10000));
|
|
99
|
+
env.logger.debug('Setting send amount to', sendAmount.div(unit).toNumber(), 'UNIT');
|
|
100
|
+
return sendAmount;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=funds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"funds.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/funds.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Abi } from '@polkadot/api-contract';
|
|
2
|
+
import { AccountKey, IDatabaseAccounts } from './DatabaseAccounts.js';
|
|
3
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
4
|
+
import { ProsopoConfig } from '@prosopo/types';
|
|
5
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
6
|
+
export type UserCount = {
|
|
7
|
+
[key in AccountKey]: number;
|
|
8
|
+
};
|
|
9
|
+
export type UserFund = {
|
|
10
|
+
[key in AccountKey]: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare const userFundMapDefault: UserFund;
|
|
13
|
+
export declare function populateDatabase(env: ProviderEnvironment, userCounts: UserCount, fundMap: UserFund, exportData: boolean, dappAbi: Abi, dappWasm: Uint8Array): Promise<IDatabaseAccounts>;
|
|
14
|
+
export default function run(pair: KeyringPair, config: ProsopoConfig): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=populateDatabase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populateDatabase.d.ts","sourceRoot":"","sources":["../../../src/tests/dataUtils/populateDatabase.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAA0B,MAAM,uBAAuB,CAAA;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAOlD,MAAM,MAAM,SAAS,GAAG;KACnB,GAAG,IAAI,UAAU,GAAG,MAAM;CAC9B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;KAClB,GAAG,IAAI,UAAU,GAAG,OAAO;CAC/B,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,QAOhC,CAAA;AAiDD,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,SAAS,EACrB,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,UAAU,GACrB,OAAO,CAAC,iBAAiB,CAAC,CA6B5B;AAED,wBAA8B,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,iBAYzE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { AccountKey, exportDatabaseAccounts } from './DatabaseAccounts.js';
|
|
2
|
+
import { DappAbiJSON, DappWasm } from './dapp-example-contract/loadFiles.js';
|
|
3
|
+
import { ProsopoEnvError } from '@prosopo/common';
|
|
4
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
5
|
+
import { get } from '@prosopo/util';
|
|
6
|
+
import { promiseQueue } from '../../util.js';
|
|
7
|
+
import DatabasePopulator, { IDatabasePopulatorMethodNames } from './DatabasePopulator.js';
|
|
8
|
+
const msToSecString = (ms) => `${Math.round(ms / 100) / 10}s`;
|
|
9
|
+
export const userFundMapDefault = {
|
|
10
|
+
[AccountKey.providers]: true,
|
|
11
|
+
[AccountKey.providersWithStake]: true,
|
|
12
|
+
[AccountKey.providersWithStakeAndDataset]: true,
|
|
13
|
+
[AccountKey.dapps]: true,
|
|
14
|
+
[AccountKey.dappsWithStake]: true,
|
|
15
|
+
[AccountKey.dappUsers]: true,
|
|
16
|
+
};
|
|
17
|
+
const userPopulatorMethodMap = {
|
|
18
|
+
[AccountKey.providers]: IDatabasePopulatorMethodNames.registerProvider,
|
|
19
|
+
[AccountKey.providersWithStake]: IDatabasePopulatorMethodNames.registerProviderWithStake,
|
|
20
|
+
[AccountKey.providersWithStakeAndDataset]: IDatabasePopulatorMethodNames.registerProviderWithStakeAndDataset,
|
|
21
|
+
[AccountKey.dapps]: IDatabasePopulatorMethodNames.registerDapp,
|
|
22
|
+
[AccountKey.dappsWithStake]: IDatabasePopulatorMethodNames.registerDappWithStake,
|
|
23
|
+
[AccountKey.dappUsers]: IDatabasePopulatorMethodNames.registerDappUser,
|
|
24
|
+
};
|
|
25
|
+
const DEFAULT_USER_COUNT = {
|
|
26
|
+
[AccountKey.providers]: 20,
|
|
27
|
+
[AccountKey.providersWithStake]: 20,
|
|
28
|
+
[AccountKey.providersWithStakeAndDataset]: 20,
|
|
29
|
+
[AccountKey.dapps]: 20,
|
|
30
|
+
[AccountKey.dappsWithStake]: 20,
|
|
31
|
+
[AccountKey.dappUsers]: 0,
|
|
32
|
+
};
|
|
33
|
+
async function populateStep(databasePopulator, key, fund, text, userCount, logger) {
|
|
34
|
+
const startDate = Date.now();
|
|
35
|
+
logger.debug(text);
|
|
36
|
+
const dummyArray = new Array(userCount).fill(userCount);
|
|
37
|
+
const promise = await promiseQueue(dummyArray.map(() => () => databasePopulator[key](fund)));
|
|
38
|
+
const time = Date.now() - startDate;
|
|
39
|
+
logger.debug(` [ ${msToSecString(time)} ]\n`);
|
|
40
|
+
///console.log('promiseQueue:', promise)
|
|
41
|
+
promise
|
|
42
|
+
.filter(({ error }) => error)
|
|
43
|
+
.forEach(({ error }) => {
|
|
44
|
+
if (error) {
|
|
45
|
+
throw new ProsopoEnvError(error);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
export async function populateDatabase(env, userCounts, fundMap, exportData, dappAbi, dappWasm) {
|
|
50
|
+
env.logger.debug('Starting database populator...');
|
|
51
|
+
const databasePopulator = new DatabasePopulator(env, dappAbi, dappWasm);
|
|
52
|
+
await databasePopulator.isReady();
|
|
53
|
+
const userPromises = Object.entries(userCounts).map(async ([userType, userCount]) => {
|
|
54
|
+
if (userCount > 0) {
|
|
55
|
+
env.logger.debug(`Fund ${userType}`, get(fundMap, userType));
|
|
56
|
+
await populateStep(databasePopulator, get(userPopulatorMethodMap, userType), get(fundMap, userType), `Running ${userType}...`, userCount, env.logger);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
try {
|
|
60
|
+
const promiseResult = await Promise.all(userPromises);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
throw new Error(String(e));
|
|
64
|
+
}
|
|
65
|
+
if (exportData) {
|
|
66
|
+
env.logger.info('Exporting accounts...');
|
|
67
|
+
await exportDatabaseAccounts(databasePopulator);
|
|
68
|
+
}
|
|
69
|
+
return databasePopulator;
|
|
70
|
+
}
|
|
71
|
+
export default async function run(pair, config) {
|
|
72
|
+
const dappAbiMetadata = await DappAbiJSON();
|
|
73
|
+
const dappWasm = await DappWasm();
|
|
74
|
+
await populateDatabase(new ProviderEnvironment(pair, config), DEFAULT_USER_COUNT, userFundMapDefault, true, dappAbiMetadata, dappWasm);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=populateDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populateDatabase.js","sourceRoot":"","sources":["../../../src/tests/dataUtils/populateDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Account } from './accounts.js';
|
|
2
|
+
import { AccountKey } from './dataUtils/DatabaseAccounts.js';
|
|
3
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
4
|
+
export declare function getUser(env: ProviderEnvironment, accountType: AccountKey, fund?: boolean): Promise<Account>;
|
|
5
|
+
//# sourceMappingURL=getUser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUser.d.ts","sourceRoot":"","sources":["../../src/tests/getUser.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAqB,MAAM,iCAAiC,CAAA;AAG/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,wBAAsB,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB9G"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AccountKey } from './dataUtils/DatabaseAccounts.js';
|
|
2
|
+
import { DappAbiJSON, DappWasm } from './dataUtils/dapp-example-contract/loadFiles.js';
|
|
3
|
+
import { ProsopoEnvError } from '@prosopo/common';
|
|
4
|
+
import { populateDatabase, userFundMapDefault } from './dataUtils/populateDatabase.js';
|
|
5
|
+
export async function getUser(env, accountType, fund = true) {
|
|
6
|
+
const accountConfig = Object.assign({}, ...Object.keys(AccountKey).map((item) => ({ [item]: 0 })));
|
|
7
|
+
accountConfig[accountType] = 1;
|
|
8
|
+
const dappWasm = await DappWasm();
|
|
9
|
+
const dappAbiJSON = await DappAbiJSON();
|
|
10
|
+
const fundMap = { ...userFundMapDefault, [accountType]: fund };
|
|
11
|
+
const databaseAccounts = await populateDatabase(env, accountConfig, fundMap, false, dappAbiJSON, dappWasm);
|
|
12
|
+
const account = databaseAccounts[accountType].pop();
|
|
13
|
+
if (account === undefined) {
|
|
14
|
+
throw new ProsopoEnvError(new Error(`${accountType} not created by databasePopulator`));
|
|
15
|
+
}
|
|
16
|
+
return account;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUser.js","sourceRoot":"","sources":["../../src/tests/getUser.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAqB,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEtF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAwB,EAAE,WAAuB,EAAE,IAAI,GAAG,IAAI;IACxF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAA;IACjC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,EAAE,GAAG,kBAAkB,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAA;IAC9D,MAAM,gBAAgB,GAAsB,MAAM,gBAAgB,CAC9D,GAAG,EACH,aAAa,EACb,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,CACX,CAAA;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAA;IACnD,IAAI,OAAO,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,GAAG,WAAW,mCAAmC,CAAC,CAAC,CAAA;KAC1F;IACD,OAAO,OAAO,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.test.d.ts","sourceRoot":"","sources":["../../../src/tests/tasks/tasks.test.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAe9C,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,iBAE1C;AAGD,OAAO,QAAQ,QAAQ,CAAC;IAEpB,UAAiB,WAAY,SAAQ,eAAe;KAAG;CAC1D"}
|