@prosopo/cli 0.2.29 → 0.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/argv.d.ts +8 -0
- package/dist/argv.d.ts.map +1 -1
- package/dist/argv.js +1 -0
- package/dist/argv.js.map +1 -1
- package/dist/cli.js +4 -7
- package/dist/cli.js.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +1 -0
- package/dist/env.js.map +1 -1
- package/dist/reloader.d.ts +17 -0
- package/dist/reloader.d.ts.map +1 -0
- package/dist/reloader.js +42 -0
- package/dist/reloader.js.map +1 -0
- package/dist/start.d.ts +3 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +9 -6
- package/dist/start.js.map +1 -1
- package/dist/tests/reloader.test.d.ts +2 -0
- package/dist/tests/reloader.test.d.ts.map +1 -0
- package/dist/tests/reloader.test.js +65 -0
- package/dist/tests/reloader.test.js.map +1 -0
- package/package.json +9 -9
- package/dist/cjs/argv.cjs +0 -25
- package/dist/cjs/cli.cjs +0 -39
- package/dist/cjs/commands/batchCommit.cjs +0 -42
- package/dist/cjs/commands/calculateCaptchaSolutions.cjs +0 -32
- package/dist/cjs/commands/dappAccounts.cjs +0 -25
- package/dist/cjs/commands/dappDetails.cjs +0 -30
- package/dist/cjs/commands/dappRegister.cjs +0 -63
- package/dist/cjs/commands/dappUpdate.cjs +0 -65
- package/dist/cjs/commands/index.cjs +0 -30
- package/dist/cjs/commands/providerAccounts.cjs +0 -24
- package/dist/cjs/commands/providerDataset.cjs +0 -61
- package/dist/cjs/commands/providerDeregister.cjs +0 -29
- package/dist/cjs/commands/providerDetails.cjs +0 -48
- package/dist/cjs/commands/providerRegister.cjs +0 -74
- package/dist/cjs/commands/providerSetDataset.cjs +0 -51
- package/dist/cjs/commands/providerUpdate.cjs +0 -84
- package/dist/cjs/commands/validators.cjs +0 -80
- package/dist/cjs/commands/version.cjs +0 -14
- package/dist/cjs/env.cjs +0 -28
- package/dist/cjs/files.cjs +0 -38
- package/dist/cjs/index.cjs +0 -23
- package/dist/cjs/process.env.cjs +0 -31
- package/dist/cjs/prosopo.config.cjs +0 -49
- package/dist/cjs/start.cjs +0 -54
package/dist/argv.d.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { KeyringPair } from '@polkadot/keyring/types';
|
|
2
2
|
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
3
|
+
export type AwaitedProcessedArgs = {
|
|
4
|
+
[x: string]: unknown;
|
|
5
|
+
api: boolean;
|
|
6
|
+
_: (string | number)[];
|
|
7
|
+
$0: string;
|
|
8
|
+
};
|
|
3
9
|
export declare function processArgs(args: string[], pair: KeyringPair, config: ProsopoConfigOutput): {
|
|
4
10
|
[x: string]: unknown;
|
|
5
11
|
api: boolean;
|
|
12
|
+
adminApi: boolean;
|
|
6
13
|
_: (string | number)[];
|
|
7
14
|
$0: string;
|
|
8
15
|
} | Promise<{
|
|
9
16
|
[x: string]: unknown;
|
|
10
17
|
api: boolean;
|
|
18
|
+
adminApi: boolean;
|
|
11
19
|
_: (string | number)[];
|
|
12
20
|
$0: string;
|
|
13
21
|
}>;
|
package/dist/argv.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAoBpD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAoBpD,MAAM,MAAM,oBAAoB,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7G,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;GAqBzF"}
|
package/dist/argv.js
CHANGED
|
@@ -7,6 +7,7 @@ export function processArgs(args, pair, config) {
|
|
|
7
7
|
return yargs(hideBin(args))
|
|
8
8
|
.usage('Usage: $0 [global options] <command> [options]')
|
|
9
9
|
.option('api', { demand: false, default: false, type: 'boolean' })
|
|
10
|
+
.option('adminApi', { demand: false, default: false, type: 'boolean' })
|
|
10
11
|
.command(commandProviderRegister(pair, config, { logger }))
|
|
11
12
|
.command(commandProviderUpdate(pair, config, { logger }))
|
|
12
13
|
.command(commandProviderDeregister(pair, config, { logger }))
|
package/dist/argv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACH,kBAAkB,EAClB,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,GACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACH,kBAAkB,EAClB,gCAAgC,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,GACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,IAAiB,EAAE,MAA2B;IACtF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,KAAK,CAAC,gDAAgD,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAW,CAAC;SAC1E,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAW,CAAC;SAC/E,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SAC1D,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACxD,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SAC5D,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SAC5D,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACtD,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACpD,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SAC1D,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACtD,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACzD,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACzD,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACrD,OAAO,CAAC,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACnE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACrD,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACjD,KAAK,EAAE,CAAA;AAChB,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { LogLevel, getLogger } from '@prosopo/common';
|
|
2
|
-
import { ProviderEnvironment } from '@prosopo/env';
|
|
3
2
|
import { getPairAsync } from '@prosopo/contract';
|
|
4
3
|
import { getSecret } from './process.env.js';
|
|
5
4
|
import { isMain } from '@prosopo/util';
|
|
6
5
|
import { loadEnv } from './env.js';
|
|
7
6
|
import { processArgs } from './argv.js';
|
|
8
|
-
import
|
|
7
|
+
import ReloadingAPI from './reloader.js';
|
|
9
8
|
import getConfig from './prosopo.config.js';
|
|
10
9
|
import process from 'process';
|
|
11
10
|
const log = getLogger(LogLevel.enum.info, 'CLI');
|
|
12
11
|
async function main() {
|
|
13
|
-
loadEnv();
|
|
12
|
+
const envPath = loadEnv();
|
|
14
13
|
const secret = getSecret();
|
|
15
14
|
const config = getConfig(undefined, undefined, undefined, {
|
|
16
15
|
solved: { count: 2 },
|
|
@@ -20,11 +19,9 @@ async function main() {
|
|
|
20
19
|
log.info(`Pair address: ${pair.address}`);
|
|
21
20
|
log.info(`Contract address: ${process.env.PROSOPO_CONTRACT_ADDRESS}`);
|
|
22
21
|
const processedArgs = await processArgs(process.argv, pair, config);
|
|
22
|
+
log.info(`Processsed args: ${JSON.stringify(processedArgs, null, 4)}`);
|
|
23
23
|
if (processedArgs.api) {
|
|
24
|
-
|
|
25
|
-
await env.isReady();
|
|
26
|
-
log.info('Starting API');
|
|
27
|
-
await start(env);
|
|
24
|
+
await new ReloadingAPI(envPath, config, pair, processedArgs).start();
|
|
28
25
|
}
|
|
29
26
|
else {
|
|
30
27
|
process.exit(0);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAA;AAC3C,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEhD,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;IAEzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAG1B,MAAM,MAAM,GAAwB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;QAC3E,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;KACzB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAEnF,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAEzC,GAAG,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAA;IAErE,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAEnE,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACtE,IAAI,aAAa,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,CAAA;KACvE;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;AACL,CAAC;AAGD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE;IACrC,IAAI,EAAE;SACD,IAAI,CAAC,GAAG,EAAE;QACP,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACvC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;CACT"}
|
package/dist/env.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function getEnv(): string;
|
|
2
|
-
export declare function loadEnv(rootDir?: string, filename?: string, filePath?: string):
|
|
2
|
+
export declare function loadEnv(rootDir?: string, filename?: string, filePath?: string): string;
|
|
3
3
|
export declare function getEnvFile(rootDir?: string, filename?: string, filepath?: string): string;
|
|
4
4
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAsBA,wBAAgB,MAAM,WAKrB;AAED,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAsBA,wBAAgB,MAAM,WAKrB;AAED,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAMtF;AAED,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,QAAQ,SAAgC,UAGvG"}
|
package/dist/env.js
CHANGED
|
@@ -16,6 +16,7 @@ export function loadEnv(rootDir, filename, filePath) {
|
|
|
16
16
|
const args = { path: envPath };
|
|
17
17
|
logger.info(`Loading env from ${envPath}`);
|
|
18
18
|
dotenv.config(args);
|
|
19
|
+
return envPath;
|
|
19
20
|
}
|
|
20
21
|
export function getEnvFile(rootDir, filename = '.env', filepath = path.join(__dirname, '../..')) {
|
|
21
22
|
const env = getEnv();
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEpF,MAAM,UAAU,MAAM;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QACtB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;KACjD;IACD,OAAO,aAAa,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,QAAiB,EAAE,QAAiB;IAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC5E,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEpF,MAAM,UAAU,MAAM;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QACtB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;KACjD;IACD,OAAO,aAAa,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,QAAiB,EAAE,QAAiB;IAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC5E,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnB,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;IACpG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AwaitedProcessedArgs } from './argv.js';
|
|
2
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
3
|
+
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
4
|
+
export default class ReloadingAPI {
|
|
5
|
+
private _envWatcher;
|
|
6
|
+
private _envPath;
|
|
7
|
+
private _config;
|
|
8
|
+
private _pair;
|
|
9
|
+
private _processedArgs;
|
|
10
|
+
private api;
|
|
11
|
+
private _restarting;
|
|
12
|
+
constructor(envPath: string, config: ProsopoConfigOutput, pair: KeyringPair, processedArgs: AwaitedProcessedArgs);
|
|
13
|
+
start(): Promise<void>;
|
|
14
|
+
stop(): Promise<unknown>;
|
|
15
|
+
private _watchEnv;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=reloader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AASpD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB;IAQnG,KAAK;IAQL,IAAI;YASH,SAAS;CAY1B"}
|
package/dist/reloader.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LogLevel, getLogger } from '@prosopo/common';
|
|
2
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
3
|
+
import { loadEnv } from './env.js';
|
|
4
|
+
import { start } from './start.js';
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
const log = getLogger(LogLevel.enum.info, 'CLI');
|
|
7
|
+
export default class ReloadingAPI {
|
|
8
|
+
constructor(envPath, config, pair, processedArgs) {
|
|
9
|
+
this._envPath = envPath;
|
|
10
|
+
this._config = config;
|
|
11
|
+
this._pair = pair;
|
|
12
|
+
this._processedArgs = processedArgs;
|
|
13
|
+
this._restarting = false;
|
|
14
|
+
}
|
|
15
|
+
async start() {
|
|
16
|
+
log.info('Starting API');
|
|
17
|
+
this._envWatcher = await this._watchEnv();
|
|
18
|
+
const env = new ProviderEnvironment(this._config, this._pair);
|
|
19
|
+
await env.isReady();
|
|
20
|
+
this.api = await start(env, !!this._processedArgs.adminApi);
|
|
21
|
+
}
|
|
22
|
+
async stop() {
|
|
23
|
+
log.info('Stopping API');
|
|
24
|
+
return new Promise((resolve) => {
|
|
25
|
+
if (this.api) {
|
|
26
|
+
this.api.close(resolve);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async _watchEnv() {
|
|
31
|
+
return fs.watchFile(this._envPath, async () => {
|
|
32
|
+
if (!this._restarting) {
|
|
33
|
+
this._restarting = true;
|
|
34
|
+
await this.stop();
|
|
35
|
+
loadEnv();
|
|
36
|
+
await this.start();
|
|
37
|
+
this._restarting = false;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=reloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reloader.js","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,YAAY;IAS7B,YAAY,OAAe,EAAE,MAA2B,EAAE,IAAiB,EAAE,aAAmC;QAC5G,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7D,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;QACnB,IAAI,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;aAC1B;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;gBACjB,OAAO,EAAE,CAAA;gBAET,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;gBAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;aAC3B;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
package/dist/start.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
import { ProsopoApiError } from '@prosopo/common';
|
|
2
3
|
import { ProviderEnvironment } from '@prosopo/env';
|
|
4
|
+
import { Server } from 'node:net';
|
|
3
5
|
import express, { NextFunction, Request, Response } from 'express';
|
|
4
6
|
export declare const handleErrors: (err: ProsopoApiError | SyntaxError, request: Request, response: Response, next: NextFunction) => express.Response<any, Record<string, any>>;
|
|
5
|
-
export declare function start(env?: ProviderEnvironment): Promise<
|
|
7
|
+
export declare function start(env?: ProviderEnvironment, admin?: boolean): Promise<Server>;
|
|
6
8
|
//# sourceMappingURL=start.d.ts.map
|
package/dist/start.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,OAAO,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAIlE,eAAO,MAAM,YAAY,QAChB,eAAe,GAAG,WAAW,WACzB,OAAO,YACN,QAAQ,QACZ,YAAY,+CAarB,CAAA;AAqBD,wBAAsB,KAAK,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,OAAO,mBAiBrE"}
|
package/dist/start.js
CHANGED
|
@@ -3,7 +3,7 @@ import { ProviderEnvironment } from '@prosopo/env';
|
|
|
3
3
|
import { getDB, getSecret } from './process.env.js';
|
|
4
4
|
import { getPairAsync } from '@prosopo/contract';
|
|
5
5
|
import { loadEnv } from './env.js';
|
|
6
|
-
import { prosopoRouter } from '@prosopo/provider';
|
|
6
|
+
import { prosopoAdminRouter, prosopoRouter } from '@prosopo/provider';
|
|
7
7
|
import cors from 'cors';
|
|
8
8
|
import express from 'express';
|
|
9
9
|
import getConfig from './prosopo.config.js';
|
|
@@ -21,20 +21,23 @@ export const handleErrors = (err, request, response, next) => {
|
|
|
21
21
|
name: err.name,
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
-
function startApi(env) {
|
|
24
|
+
function startApi(env, admin = false) {
|
|
25
25
|
env.logger.info(`Starting Prosopo API`);
|
|
26
26
|
const apiApp = express();
|
|
27
27
|
const apiPort = env.config.server.port;
|
|
28
28
|
apiApp.use(cors());
|
|
29
|
-
apiApp.use(express.json());
|
|
29
|
+
apiApp.use(express.json({ limit: '50mb' }));
|
|
30
30
|
apiApp.use(i18nMiddleware({}));
|
|
31
31
|
apiApp.use(prosopoRouter(env));
|
|
32
|
+
if (admin) {
|
|
33
|
+
apiApp.use(prosopoAdminRouter(env));
|
|
34
|
+
}
|
|
32
35
|
apiApp.use(handleErrors);
|
|
33
|
-
apiApp.listen(apiPort, () => {
|
|
36
|
+
return apiApp.listen(apiPort, () => {
|
|
34
37
|
env.logger.info(`Prosopo app listening at http://localhost:${apiPort}`);
|
|
35
38
|
});
|
|
36
39
|
}
|
|
37
|
-
export async function start(env) {
|
|
40
|
+
export async function start(env, admin) {
|
|
38
41
|
if (!env) {
|
|
39
42
|
loadEnv();
|
|
40
43
|
getDB();
|
|
@@ -47,6 +50,6 @@ export async function start(env) {
|
|
|
47
50
|
env = new ProviderEnvironment(config, pair);
|
|
48
51
|
}
|
|
49
52
|
await env.isReady();
|
|
50
|
-
startApi(env);
|
|
53
|
+
return startApi(env, admin);
|
|
51
54
|
}
|
|
52
55
|
//# sourceMappingURL=start.js.map
|
package/dist/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmB,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmB,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAA4C,MAAM,SAAS,CAAA;AAClE,OAAO,SAAS,MAAM,qBAAqB,CAAA;AAG3C,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,GAAkC,EAClC,OAAgB,EAChB,QAAkB,EAClB,IAAkB,EACpB,EAAE;IACA,MAAM,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;IAC3C,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IACzB,IAAI;QACA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KACpC;IAAC,MAAM;QACJ,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;KAC9C;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC9B,OAAO;QACP,IAAI,EAAE,GAAG,CAAC,IAAI;KACjB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,SAAS,QAAQ,CAAC,GAAwB,EAAE,KAAK,GAAG,KAAK;IACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAA;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAA;IAEtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAClB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,IAAI,KAAK,EAAE;QACP,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;KACtC;IAED,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACxB,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE;QAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAyB,EAAE,KAAe;IAClE,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,EAAE,CAAA;QAGT,KAAK,EAAE,CAAA;QAEP,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;YACtD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACzB,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QACnF,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;KAC9C;IACD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;IACnB,OAAO,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reloader.test.d.ts","sourceRoot":"","sources":["../../src/tests/reloader.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { getCurrentFileDirectory } from '@prosopo/util';
|
|
3
|
+
import { promisify } from 'util';
|
|
4
|
+
import { spawn } from 'child_process';
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
describe('reloading api', () => {
|
|
8
|
+
test('api reloads after changing .env file', async () => {
|
|
9
|
+
try {
|
|
10
|
+
const dir = getCurrentFileDirectory(import.meta.url);
|
|
11
|
+
const rootDir = dir.split('/').slice(0, -2).join('/');
|
|
12
|
+
console.log('rootDir', rootDir);
|
|
13
|
+
const child = spawn(`npm`, ['run', 'cli', '--', '--api'], {
|
|
14
|
+
cwd: rootDir,
|
|
15
|
+
env: { ...process.env, NODE_ENV: 'test' },
|
|
16
|
+
});
|
|
17
|
+
let appended = false;
|
|
18
|
+
child.stdout.on('data', (data) => onData(data, rootDir, appended).then((result) => {
|
|
19
|
+
appended = result.appended;
|
|
20
|
+
const kill = result.kill;
|
|
21
|
+
console.log('onData ran, appended', appended, 'kill', kill);
|
|
22
|
+
if (kill) {
|
|
23
|
+
child.kill();
|
|
24
|
+
expect(appended).toBe(true);
|
|
25
|
+
remainOpen = false;
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
child.stdout.on('error', (e) => {
|
|
29
|
+
console.log('error', e);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
});
|
|
32
|
+
let remainOpen = true;
|
|
33
|
+
child.stdout.on('close', (result) => {
|
|
34
|
+
console.log('closed', result);
|
|
35
|
+
remainOpen = true;
|
|
36
|
+
});
|
|
37
|
+
while (remainOpen) {
|
|
38
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.log('error', e);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
}, 120000);
|
|
46
|
+
});
|
|
47
|
+
const onData = async (data, rootDir, appended) => {
|
|
48
|
+
console.log(`stdout:\n${data}`);
|
|
49
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
50
|
+
if (data.includes('Running main process...')) {
|
|
51
|
+
if (!appended) {
|
|
52
|
+
const envPath = path.resolve(`${rootDir}/.env.test`);
|
|
53
|
+
await promisify(fs.appendFile)(envPath, '\nTEST=TEST');
|
|
54
|
+
return {
|
|
55
|
+
appended: true,
|
|
56
|
+
kill: false,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (appended) {
|
|
61
|
+
return { appended: true, kill: data.includes('Stopping API') };
|
|
62
|
+
}
|
|
63
|
+
return { appended: false, kill: false };
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=reloader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reloader.test.js","sourceRoot":"","sources":["../../src/tests/reloader.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.32",
|
|
4
4
|
"description": "CLI for Prosopo Provider",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"@polkadot/types": "10.11.1",
|
|
35
35
|
"@polkadot/util": "12.6.1",
|
|
36
36
|
"@polkadot/util-crypto": "12.6.1",
|
|
37
|
-
"@prosopo/captcha-contract": "0.2.
|
|
38
|
-
"@prosopo/common": "0.2.
|
|
39
|
-
"@prosopo/contract": "0.2.
|
|
40
|
-
"@prosopo/env": "0.2.
|
|
41
|
-
"@prosopo/provider": "0.2.
|
|
42
|
-
"@prosopo/types": "0.2.
|
|
43
|
-
"@prosopo/util": "0.2.
|
|
37
|
+
"@prosopo/captcha-contract": "0.2.32",
|
|
38
|
+
"@prosopo/common": "0.2.32",
|
|
39
|
+
"@prosopo/contract": "0.2.32",
|
|
40
|
+
"@prosopo/env": "0.2.32",
|
|
41
|
+
"@prosopo/provider": "0.2.32",
|
|
42
|
+
"@prosopo/types": "0.2.32",
|
|
43
|
+
"@prosopo/util": "0.2.32",
|
|
44
44
|
"cors": "^2.8.5",
|
|
45
45
|
"cron-parser": "^4.9.0",
|
|
46
46
|
"dotenv": "^16.0.1",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"express": "^4.18.2",
|
|
53
53
|
"vite": "^4.5.0",
|
|
54
54
|
"vitest": "^0.34.6",
|
|
55
|
-
"@prosopo/config": "0.2.
|
|
55
|
+
"@prosopo/config": "0.2.32",
|
|
56
56
|
"@types/cors": "^2.8.14",
|
|
57
57
|
"tslib": "2.6.2",
|
|
58
58
|
"typescript": "5.1.6"
|
package/dist/cjs/argv.cjs
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const common = require("@prosopo/common");
|
|
4
|
-
require("./commands/index.cjs");
|
|
5
|
-
const helpers = require("yargs/helpers");
|
|
6
|
-
const yargs = require("yargs");
|
|
7
|
-
const providerRegister = require("./commands/providerRegister.cjs");
|
|
8
|
-
const providerUpdate = require("./commands/providerUpdate.cjs");
|
|
9
|
-
const providerDeregister = require("./commands/providerDeregister.cjs");
|
|
10
|
-
const providerSetDataset = require("./commands/providerSetDataset.cjs");
|
|
11
|
-
const dappRegister = require("./commands/dappRegister.cjs");
|
|
12
|
-
const dappUpdate = require("./commands/dappUpdate.cjs");
|
|
13
|
-
const providerAccounts = require("./commands/providerAccounts.cjs");
|
|
14
|
-
const dappAccounts = require("./commands/dappAccounts.cjs");
|
|
15
|
-
const providerDetails = require("./commands/providerDetails.cjs");
|
|
16
|
-
const providerDataset = require("./commands/providerDataset.cjs");
|
|
17
|
-
const dappDetails = require("./commands/dappDetails.cjs");
|
|
18
|
-
const calculateCaptchaSolutions = require("./commands/calculateCaptchaSolutions.cjs");
|
|
19
|
-
const batchCommit = require("./commands/batchCommit.cjs");
|
|
20
|
-
const version = require("./commands/version.cjs");
|
|
21
|
-
function processArgs(args, pair, config) {
|
|
22
|
-
const logger = common.getLogger(common.LogLevel.enum.info, "CLI");
|
|
23
|
-
return yargs(helpers.hideBin(args)).usage("Usage: $0 [global options] <command> [options]").option("api", { demand: false, default: false, type: "boolean" }).command(providerRegister(pair, config, { logger })).command(providerUpdate(pair, config, { logger })).command(providerDeregister(pair, config, { logger })).command(providerSetDataset(pair, config, { logger })).command(dappRegister(pair, config, { logger })).command(dappUpdate(pair, config, { logger })).command(providerAccounts(pair, config, { logger })).command(dappAccounts(pair, config, { logger })).command(providerDetails(pair, config, { logger })).command(providerDataset(pair, config, { logger })).command(dappDetails(pair, config, { logger })).command(calculateCaptchaSolutions(pair, config, { logger })).command(batchCommit(pair, config, { logger })).command(version(pair, config, { logger })).parse();
|
|
24
|
-
}
|
|
25
|
-
exports.processArgs = processArgs;
|
package/dist/cjs/cli.cjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const common = require("@prosopo/common");
|
|
3
|
-
const env$1 = require("@prosopo/env");
|
|
4
|
-
const contract = require("@prosopo/contract");
|
|
5
|
-
const process_env = require("./process.env.cjs");
|
|
6
|
-
const util = require("@prosopo/util");
|
|
7
|
-
const env = require("./env.cjs");
|
|
8
|
-
const argv = require("./argv.cjs");
|
|
9
|
-
const start = require("./start.cjs");
|
|
10
|
-
const prosopo_config = require("./prosopo.config.cjs");
|
|
11
|
-
const process = require("process");
|
|
12
|
-
const log = common.getLogger(common.LogLevel.enum.info, "CLI");
|
|
13
|
-
async function main() {
|
|
14
|
-
env.loadEnv();
|
|
15
|
-
const secret = process_env.getSecret();
|
|
16
|
-
const config = prosopo_config(void 0, void 0, void 0, {
|
|
17
|
-
solved: { count: 2 },
|
|
18
|
-
unsolved: { count: 0 }
|
|
19
|
-
});
|
|
20
|
-
const pair = await contract.getPairAsync(config.networks[config.defaultNetwork], secret, "");
|
|
21
|
-
log.info(`Pair address: ${pair.address}`);
|
|
22
|
-
log.info(`Contract address: ${process.env.PROSOPO_CONTRACT_ADDRESS}`);
|
|
23
|
-
const processedArgs = await argv.processArgs(process.argv, pair, config);
|
|
24
|
-
if (processedArgs.api) {
|
|
25
|
-
const env2 = new env$1.ProviderEnvironment(config, pair);
|
|
26
|
-
await env2.isReady();
|
|
27
|
-
log.info("Starting API");
|
|
28
|
-
await start.start(env2);
|
|
29
|
-
} else {
|
|
30
|
-
process.exit(0);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (util.isMain(module, "provider")) {
|
|
34
|
-
main().then(() => {
|
|
35
|
-
log.info("Running main process...");
|
|
36
|
-
}).catch((error) => {
|
|
37
|
-
log.error(error);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const provider = require("@prosopo/provider");
|
|
3
|
-
const common = require("@prosopo/common");
|
|
4
|
-
const env = require("@prosopo/env");
|
|
5
|
-
const validators = require("./validators.cjs");
|
|
6
|
-
const commandBatchCommit = (pair, config, cmdArgs) => {
|
|
7
|
-
const logger = (cmdArgs == null ? void 0 : cmdArgs.logger) || common.getLogger(common.LogLevel.enum.info, "cli.batch_commit");
|
|
8
|
-
return {
|
|
9
|
-
command: "batch_commit",
|
|
10
|
-
describe: "Batch commit user solutions to contract",
|
|
11
|
-
builder: (yargs) => {
|
|
12
|
-
return yargs.option("schedule", {
|
|
13
|
-
type: "string",
|
|
14
|
-
demand: false,
|
|
15
|
-
desc: "A Recurring schedule expression"
|
|
16
|
-
});
|
|
17
|
-
},
|
|
18
|
-
handler: async (argv) => {
|
|
19
|
-
const env$1 = new env.ProviderEnvironment(config, pair);
|
|
20
|
-
await env$1.isReady();
|
|
21
|
-
if (argv.schedule) {
|
|
22
|
-
throw new common.ProsopoEnvError("GENERAL.NOT_IMPLEMENTED");
|
|
23
|
-
} else {
|
|
24
|
-
if (env$1.db) {
|
|
25
|
-
const batchCommitter = new provider.BatchCommitmentsTask(
|
|
26
|
-
env$1.config.batchCommit,
|
|
27
|
-
env$1.getContractInterface(),
|
|
28
|
-
env$1.db,
|
|
29
|
-
0n,
|
|
30
|
-
env$1.logger
|
|
31
|
-
);
|
|
32
|
-
const result = await batchCommitter.run();
|
|
33
|
-
logger.info(`Batch commit complete: ${result}`);
|
|
34
|
-
} else {
|
|
35
|
-
logger.error("No database configured");
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
middlewares: [validators.validateScheduleExpression]
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
module.exports = commandBatchCommit;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const provider = require("@prosopo/provider");
|
|
3
|
-
const common = require("@prosopo/common");
|
|
4
|
-
const env = require("@prosopo/env");
|
|
5
|
-
const validators = require("./validators.cjs");
|
|
6
|
-
const commandCalculateCaptchaSolutions = (pair, config, cmdArgs) => {
|
|
7
|
-
const logger = (cmdArgs == null ? void 0 : cmdArgs.logger) || common.getLogger(common.LogLevel.enum.info, "cli.calculate_captcha_solutions");
|
|
8
|
-
return {
|
|
9
|
-
command: "calculate_captcha_solutions",
|
|
10
|
-
describe: "Calculate captcha solutions",
|
|
11
|
-
builder: (yargs) => {
|
|
12
|
-
return yargs.option("schedule", {
|
|
13
|
-
type: "string",
|
|
14
|
-
demand: false,
|
|
15
|
-
desc: "A Recurring schedule expression"
|
|
16
|
-
});
|
|
17
|
-
},
|
|
18
|
-
handler: async (argv) => {
|
|
19
|
-
const env$1 = new env.ProviderEnvironment(config, pair);
|
|
20
|
-
await env$1.isReady();
|
|
21
|
-
if (argv.schedule) {
|
|
22
|
-
throw new common.ProsopoEnvError("GENERAL.NOT_IMPLEMENTED");
|
|
23
|
-
} else {
|
|
24
|
-
const calculateSolutionsTask = new provider.CalculateSolutionsTask(env$1);
|
|
25
|
-
const result = await calculateSolutionsTask.run();
|
|
26
|
-
logger.info(`Updated ${result} captcha solutions`);
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
middlewares: [validators.validateScheduleExpression]
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
module.exports = commandCalculateCaptchaSolutions;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const common = require("@prosopo/common");
|
|
3
|
-
const env = require("@prosopo/env");
|
|
4
|
-
const provider = require("@prosopo/provider");
|
|
5
|
-
const commandDappAccounts = (pair, config, cmdArgs) => {
|
|
6
|
-
const logger = (cmdArgs == null ? void 0 : cmdArgs.logger) || common.getLogger(common.LogLevel.enum.info, "cli.dapp_accounts");
|
|
7
|
-
return {
|
|
8
|
-
command: "dapp_accounts",
|
|
9
|
-
describe: "List all dapp accounts",
|
|
10
|
-
builder: (yargs) => yargs,
|
|
11
|
-
handler: async (argv) => {
|
|
12
|
-
try {
|
|
13
|
-
const env$1 = new env.ProviderEnvironment(config, pair);
|
|
14
|
-
await env$1.isReady();
|
|
15
|
-
const tasks = new provider.Tasks(env$1);
|
|
16
|
-
const result = await tasks.contract.contract["dappAccounts"]();
|
|
17
|
-
logger.info(JSON.stringify(result, null, 2));
|
|
18
|
-
} catch (err) {
|
|
19
|
-
logger.error(err);
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
middlewares: []
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
module.exports = commandDappAccounts;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const common = require("@prosopo/common");
|
|
3
|
-
const env = require("@prosopo/env");
|
|
4
|
-
const provider = require("@prosopo/provider");
|
|
5
|
-
const validators = require("./validators.cjs");
|
|
6
|
-
const commandDappDetails = (pair, config, cmdArgs) => {
|
|
7
|
-
const logger = (cmdArgs == null ? void 0 : cmdArgs.logger) || common.getLogger(common.LogLevel.enum.info, "cli.dapp_details");
|
|
8
|
-
return {
|
|
9
|
-
command: "dapp_details",
|
|
10
|
-
describe: "List details of a single Dapp",
|
|
11
|
-
builder: (yargs) => yargs.option("address", {
|
|
12
|
-
type: "string",
|
|
13
|
-
demand: true,
|
|
14
|
-
desc: "The AccountId of the Dapp"
|
|
15
|
-
}),
|
|
16
|
-
handler: async (argv) => {
|
|
17
|
-
try {
|
|
18
|
-
const env$1 = new env.ProviderEnvironment(config, pair);
|
|
19
|
-
await env$1.isReady();
|
|
20
|
-
const tasks = new provider.Tasks(env$1);
|
|
21
|
-
const result = (await tasks.contract.query.getDapp(validators.validateAddress(argv).address)).value.unwrap().unwrap();
|
|
22
|
-
logger.info(JSON.stringify(result, null, 2));
|
|
23
|
-
} catch (err) {
|
|
24
|
-
logger.error(err);
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
middlewares: [validators.validateAddress]
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
module.exports = commandDappDetails;
|