@prosopo/cli 1.0.2 → 2.0.0
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/README.md +49 -49
- package/dist/RateLimiter.d.ts +59 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +62 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/argv.d.ts +2 -2
- package/dist/argv.d.ts.map +1 -1
- package/dist/argv.js +12 -19
- package/dist/argv.js.map +1 -1
- package/dist/bundle/provider.cli.bundle.js +382971 -0
- package/dist/cjs/RateLimiter.cjs +64 -0
- package/dist/cjs/argv.cjs +7 -14
- package/dist/cjs/cli.cjs +15 -10
- package/dist/cjs/commands/index.cjs +0 -20
- package/dist/cjs/commands/providerDeregister.cjs +2 -2
- package/dist/cjs/commands/providerSetDataset.cjs +2 -2
- package/dist/cjs/commands/validators.cjs +14 -9
- package/dist/cjs/env.cjs +7 -4
- package/dist/cjs/files.cjs +7 -6
- package/dist/cjs/process.env.cjs +1 -1
- package/dist/cjs/prosopo.config.cjs +23 -9
- package/dist/cjs/reloader.cjs +9 -7
- package/dist/cjs/start.cjs +20 -6
- package/dist/cli.js +17 -15
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +3 -13
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +3 -13
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/providerDeregister.d.ts +4 -4
- package/dist/commands/providerDeregister.d.ts.map +1 -1
- package/dist/commands/providerDeregister.js +12 -12
- package/dist/commands/providerDeregister.js.map +1 -1
- package/dist/commands/providerSetDataset.d.ts +4 -4
- package/dist/commands/providerSetDataset.d.ts.map +1 -1
- package/dist/commands/providerSetDataset.js +13 -12
- package/dist/commands/providerSetDataset.js.map +1 -1
- package/dist/commands/validators.d.ts +4 -4
- package/dist/commands/validators.d.ts.map +1 -1
- package/dist/commands/validators.js +22 -17
- package/dist/commands/validators.js.map +1 -1
- package/dist/commands/version.d.ts +3 -3
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +5 -5
- package/dist/commands/version.js.map +1 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +9 -9
- package/dist/env.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +10 -8
- package/dist/files.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/process.env.d.ts +1 -1
- package/dist/process.env.d.ts.map +1 -1
- package/dist/process.env.js +7 -7
- package/dist/process.env.js.map +1 -1
- package/dist/prosopo.config.d.ts +1 -1
- package/dist/prosopo.config.d.ts.map +1 -1
- package/dist/prosopo.config.js +39 -21
- package/dist/prosopo.config.js.map +1 -1
- package/dist/reloader.d.ts +3 -3
- package/dist/reloader.d.ts.map +1 -1
- package/dist/reloader.js +10 -8
- package/dist/reloader.js.map +1 -1
- package/dist/start.d.ts +2 -2
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +20 -13
- package/dist/start.js.map +1 -1
- package/dist/tests/bundle/bundle.test.js +8 -8
- package/dist/tests/bundle/bundle.test.js.map +1 -1
- package/package.json +56 -62
- package/vite.cjs.config.ts +3 -3
- package/vite.config.ts +38 -26
- package/vite.test.config.ts +12 -12
- package/dist/cjs/commands/batchCommit.cjs +0 -42
- 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/providerAccounts.cjs +0 -24
- package/dist/cjs/commands/providerDataset.cjs +0 -61
- package/dist/cjs/commands/providerDetails.cjs +0 -48
- package/dist/cjs/commands/providerRegister.cjs +0 -74
- package/dist/cjs/commands/providerUpdate.cjs +0 -84
- package/dist/commands/batchCommit.d.ts +0 -21
- package/dist/commands/batchCommit.d.ts.map +0 -1
- package/dist/commands/batchCommit.js +0 -37
- package/dist/commands/batchCommit.js.map +0 -1
- package/dist/commands/dappAccounts.d.ts +0 -15
- package/dist/commands/dappAccounts.d.ts.map +0 -1
- package/dist/commands/dappAccounts.js +0 -25
- package/dist/commands/dappAccounts.js.map +0 -1
- package/dist/commands/dappDetails.d.ts +0 -19
- package/dist/commands/dappDetails.d.ts.map +0 -1
- package/dist/commands/dappDetails.js +0 -32
- package/dist/commands/dappDetails.js.map +0 -1
- package/dist/commands/dappRegister.d.ts +0 -23
- package/dist/commands/dappRegister.d.ts.map +0 -1
- package/dist/commands/dappRegister.js +0 -48
- package/dist/commands/dappRegister.js.map +0 -1
- package/dist/commands/dappUpdate.d.ts +0 -23
- package/dist/commands/dappUpdate.d.ts.map +0 -1
- package/dist/commands/dappUpdate.js +0 -50
- package/dist/commands/dappUpdate.js.map +0 -1
- package/dist/commands/providerAccounts.d.ts +0 -9
- package/dist/commands/providerAccounts.d.ts.map +0 -1
- package/dist/commands/providerAccounts.js +0 -24
- package/dist/commands/providerAccounts.js.map +0 -1
- package/dist/commands/providerDataset.d.ts +0 -18
- package/dist/commands/providerDataset.d.ts.map +0 -1
- package/dist/commands/providerDataset.js +0 -46
- package/dist/commands/providerDataset.js.map +0 -1
- package/dist/commands/providerDetails.d.ts +0 -19
- package/dist/commands/providerDetails.d.ts.map +0 -1
- package/dist/commands/providerDetails.js +0 -33
- package/dist/commands/providerDetails.js.map +0 -1
- package/dist/commands/providerRegister.d.ts +0 -9
- package/dist/commands/providerRegister.d.ts.map +0 -1
- package/dist/commands/providerRegister.js +0 -60
- package/dist/commands/providerRegister.js.map +0 -1
- package/dist/commands/providerUpdate.d.ts +0 -27
- package/dist/commands/providerUpdate.d.ts.map +0 -1
- package/dist/commands/providerUpdate.js +0 -63
- package/dist/commands/providerUpdate.js.map +0 -1
package/dist/prosopo.config.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { LogLevel, getLogLevel, getLogger } from "@prosopo/common";
|
|
2
|
+
import { DatabaseTypes, EnvironmentTypesSchema, NetworkNamesSchema, ProsopoConfigSchema, } from "@prosopo/types";
|
|
3
|
+
import { getRateLimitConfig } from "./RateLimiter.js";
|
|
4
|
+
import { getAddress, getPassword, getSecret } from "./process.env.js";
|
|
5
|
+
const logger = getLogger(LogLevel.enum.info, "Config");
|
|
4
6
|
function getMongoURI() {
|
|
5
|
-
const protocol = process.env.PROSOPO_DATABASE_PROTOCOL ||
|
|
6
|
-
const mongoSrv = protocol ===
|
|
7
|
-
const password = process.env.PROSOPO_DATABASE_PASSWORD ||
|
|
8
|
-
const username = process.env.PROSOPO_DATABASE_USERNAME ||
|
|
9
|
-
const host = process.env.PROSOPO_DATABASE_HOST ||
|
|
10
|
-
const port = mongoSrv ?
|
|
11
|
-
const retries = mongoSrv ?
|
|
12
|
-
|
|
7
|
+
const protocol = process.env.PROSOPO_DATABASE_PROTOCOL || "mongodb";
|
|
8
|
+
const mongoSrv = protocol === "mongodb+srv";
|
|
9
|
+
const password = process.env.PROSOPO_DATABASE_PASSWORD || "root";
|
|
10
|
+
const username = process.env.PROSOPO_DATABASE_USERNAME || "root";
|
|
11
|
+
const host = process.env.PROSOPO_DATABASE_HOST || "localhost";
|
|
12
|
+
const port = mongoSrv ? "" : `:${process.env.PROSOPO_DATABASE_PORT || 27017}`;
|
|
13
|
+
const retries = mongoSrv ? "?retryWrites=true&w=majority" : "";
|
|
14
|
+
const mongoURI = `${protocol}://${username}:${password}@${host}${port}/${retries}`;
|
|
15
|
+
return mongoURI;
|
|
13
16
|
}
|
|
14
|
-
export default function getConfig(networksConfig, captchaSolutionsConfig, batchCommitConfig, captchaServeConfig, who =
|
|
17
|
+
export default function getConfig(networksConfig, captchaSolutionsConfig, batchCommitConfig, captchaServeConfig, who = "PROVIDER") {
|
|
15
18
|
return ProsopoConfigSchema.parse({
|
|
16
19
|
logLevel: getLogLevel(),
|
|
17
20
|
defaultEnvironment: process.env.PROSOPO_DEFAULT_ENVIRONMENT
|
|
@@ -29,27 +32,42 @@ export default function getConfig(networksConfig, captchaSolutionsConfig, batchC
|
|
|
29
32
|
development: {
|
|
30
33
|
type: DatabaseTypes.enum.mongo,
|
|
31
34
|
endpoint: getMongoURI(),
|
|
32
|
-
dbname: process.env.PROSOPO_DATABASE_NAME ||
|
|
33
|
-
authSource:
|
|
35
|
+
dbname: process.env.PROSOPO_DATABASE_NAME || "prosopo",
|
|
36
|
+
authSource: "admin",
|
|
37
|
+
},
|
|
38
|
+
staging: {
|
|
39
|
+
type: DatabaseTypes.enum.mongo,
|
|
40
|
+
endpoint: getMongoURI(),
|
|
41
|
+
dbname: process.env.PROSOPO_DATABASE_NAME || "prosopo",
|
|
42
|
+
authSource: "admin",
|
|
34
43
|
},
|
|
35
44
|
production: {
|
|
36
45
|
type: DatabaseTypes.enum.mongo,
|
|
37
46
|
endpoint: getMongoURI(),
|
|
38
|
-
dbname: process.env.PROSOPO_DATABASE_NAME ||
|
|
39
|
-
authSource:
|
|
47
|
+
dbname: process.env.PROSOPO_DATABASE_NAME || "prosopo",
|
|
48
|
+
authSource: "admin",
|
|
40
49
|
},
|
|
41
50
|
},
|
|
42
51
|
server: {
|
|
43
|
-
baseURL: process.env.PROSOPO_API_BASE_URL ||
|
|
44
|
-
port: process.env.PROSOPO_API_PORT
|
|
52
|
+
baseURL: process.env.PROSOPO_API_BASE_URL || "http://localhost",
|
|
53
|
+
port: process.env.PROSOPO_API_PORT
|
|
54
|
+
? Number.parseInt(process.env.PROSOPO_API_PORT)
|
|
55
|
+
: 9229,
|
|
45
56
|
},
|
|
46
57
|
networks: networksConfig,
|
|
47
58
|
captchaSolutions: captchaSolutionsConfig,
|
|
48
59
|
batchCommit: batchCommitConfig,
|
|
49
60
|
captchas: captchaServeConfig,
|
|
50
|
-
devOnlyWatchEvents: process.env._DEV_ONLY_WATCH_EVENTS ===
|
|
51
|
-
mongoEventsUri: process.env.PROSOPO_MONGO_EVENTS_URI ||
|
|
52
|
-
mongoCaptchaUri: process.env.PROSOPO_MONGO_CAPTCHA_URI ||
|
|
61
|
+
devOnlyWatchEvents: process.env._DEV_ONLY_WATCH_EVENTS === "true",
|
|
62
|
+
mongoEventsUri: process.env.PROSOPO_MONGO_EVENTS_URI || "",
|
|
63
|
+
mongoCaptchaUri: process.env.PROSOPO_MONGO_CAPTCHA_URI || "",
|
|
64
|
+
rateLimits: getRateLimitConfig(),
|
|
65
|
+
proxyCount: process.env.PROSOPO_PROXY_COUNT
|
|
66
|
+
? Number.parseInt(process.env.PROSOPO_PROXY_COUNT)
|
|
67
|
+
: 0,
|
|
68
|
+
captchaScheduler: {
|
|
69
|
+
schedule: process.env.CAPTCHA_STORAGE_SCHEDULE,
|
|
70
|
+
},
|
|
53
71
|
});
|
|
54
72
|
}
|
|
55
73
|
//# sourceMappingURL=prosopo.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prosopo.config.js","sourceRoot":"","sources":["../src/prosopo.config.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"prosopo.config.js","sourceRoot":"","sources":["../src/prosopo.config.ts"],"names":[],"mappings":"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"}
|
package/dist/reloader.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { KeyringPair } from "@polkadot/keyring/types";
|
|
2
|
+
import type { ProsopoConfigOutput } from "@prosopo/types";
|
|
3
|
+
import type { AwaitedProcessedArgs } from "./argv.js";
|
|
4
4
|
export default class ReloadingAPI {
|
|
5
5
|
private _envWatcher;
|
|
6
6
|
private _envPath;
|
package/dist/reloader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAc1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAMtD,MAAM,CAAC,OAAO,OAAO,YAAY;IAEhC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,WAAW,CAAU;gBAG5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,oBAAoB;IASvB,KAAK;IASL,IAAI;YASH,SAAS;CAYvB"}
|
package/dist/reloader.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
const log = getLogger(LogLevel.enum.info,
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import { LogLevel, getLogger } from "@prosopo/common";
|
|
3
|
+
import { ProviderEnvironment } from "@prosopo/env";
|
|
4
|
+
import { loadEnv } from "./env.js";
|
|
5
|
+
import { start } from "./start.js";
|
|
6
|
+
const log = getLogger(LogLevel.enum.info, "CLI");
|
|
7
7
|
export default class ReloadingAPI {
|
|
8
8
|
constructor(envPath, config, pair, processedArgs) {
|
|
9
9
|
this._envPath = envPath;
|
|
@@ -13,14 +13,15 @@ export default class ReloadingAPI {
|
|
|
13
13
|
this._restarting = false;
|
|
14
14
|
}
|
|
15
15
|
async start() {
|
|
16
|
-
log.info(
|
|
16
|
+
log.info("Starting API");
|
|
17
17
|
this._envWatcher = await this._watchEnv();
|
|
18
|
+
loadEnv();
|
|
18
19
|
const env = new ProviderEnvironment(this._config, this._pair);
|
|
19
20
|
await env.isReady();
|
|
20
21
|
this.api = await start(env, !!this._processedArgs.adminApi);
|
|
21
22
|
}
|
|
22
23
|
async stop() {
|
|
23
|
-
log.info(
|
|
24
|
+
log.info("Stopping API");
|
|
24
25
|
return new Promise((resolve) => {
|
|
25
26
|
if (this.api) {
|
|
26
27
|
this.api.close(resolve);
|
|
@@ -29,6 +30,7 @@ export default class ReloadingAPI {
|
|
|
29
30
|
}
|
|
30
31
|
async _watchEnv() {
|
|
31
32
|
return fs.watchFile(this._envPath, async () => {
|
|
33
|
+
log.info(`env file change detected. Restarting: ${this._restarting}`);
|
|
32
34
|
if (!this._restarting) {
|
|
33
35
|
this._restarting = true;
|
|
34
36
|
await this.stop();
|
package/dist/reloader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reloader.js","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reloader.js","sourceRoot":"","sources":["../src/reloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAgBnD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,YAAY;IAUhC,YACC,OAAe,EACf,MAA2B,EAC3B,IAAiB,EACjB,aAAmC;QAEnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,GAAG,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACxB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC7C,GAAG,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aACzB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/dist/start.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { Server } from "node:net";
|
|
3
|
+
import { ProviderEnvironment } from "@prosopo/env";
|
|
4
4
|
export declare function start(env?: ProviderEnvironment, admin?: boolean): Promise<Server>;
|
|
5
5
|
//# 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":";
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA2DnD,wBAAsB,KAAK,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,OAAO,mBA+BrE"}
|
package/dist/start.js
CHANGED
|
@@ -1,24 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
1
|
+
import { i18nMiddleware } from "@prosopo/common";
|
|
2
|
+
import { getPairAsync } from "@prosopo/contract";
|
|
3
|
+
import { ProviderEnvironment } from "@prosopo/env";
|
|
4
|
+
import { prosopoAdminRouter, prosopoRouter, prosopoVerifyRouter, storeCaptchasExternally, } from "@prosopo/provider";
|
|
5
|
+
import cors from "cors";
|
|
6
|
+
import express from "express";
|
|
7
|
+
import rateLimit from "express-rate-limit";
|
|
8
|
+
import { loadEnv } from "./env.js";
|
|
9
|
+
import { getDB, getSecret } from "./process.env.js";
|
|
10
|
+
import getConfig from "./prosopo.config.js";
|
|
10
11
|
function startApi(env, admin = false) {
|
|
11
|
-
env.logger.info(
|
|
12
|
+
env.logger.info("Starting Prosopo API");
|
|
12
13
|
const apiApp = express();
|
|
13
14
|
const apiPort = env.config.server.port;
|
|
15
|
+
apiApp.set("trust proxy", env.config.proxyCount);
|
|
14
16
|
apiApp.use(cors());
|
|
15
|
-
apiApp.use(express.json({ limit:
|
|
17
|
+
apiApp.use(express.json({ limit: "50mb" }));
|
|
16
18
|
apiApp.use(i18nMiddleware({}));
|
|
17
19
|
apiApp.use(prosopoRouter(env));
|
|
18
20
|
apiApp.use(prosopoVerifyRouter(env));
|
|
19
21
|
if (admin) {
|
|
20
22
|
apiApp.use(prosopoAdminRouter(env));
|
|
21
23
|
}
|
|
24
|
+
const rateLimits = env.config.rateLimits;
|
|
25
|
+
for (const [path, limit] of Object.entries(rateLimits)) {
|
|
26
|
+
const enumPath = path;
|
|
27
|
+
apiApp.use(enumPath, rateLimit(limit));
|
|
28
|
+
}
|
|
22
29
|
return apiApp.listen(apiPort, () => {
|
|
23
30
|
env.logger.info(`Prosopo app listening at http://localhost:${apiPort}`);
|
|
24
31
|
});
|
|
@@ -32,13 +39,13 @@ export async function start(env, admin) {
|
|
|
32
39
|
solved: { count: 2 },
|
|
33
40
|
unsolved: { count: 0 },
|
|
34
41
|
});
|
|
35
|
-
const pair = await getPairAsync(config.networks[config.defaultNetwork], secret,
|
|
42
|
+
const pair = await getPairAsync(config.networks[config.defaultNetwork], secret, "");
|
|
36
43
|
env = new ProviderEnvironment(config, pair);
|
|
37
44
|
}
|
|
38
45
|
await env.isReady();
|
|
39
46
|
if (env.pair) {
|
|
40
47
|
storeCaptchasExternally(env.pair, env.config).catch((err) => {
|
|
41
|
-
console.error(
|
|
48
|
+
console.error("Failed to start scheduler:", err);
|
|
42
49
|
});
|
|
43
50
|
}
|
|
44
51
|
return startApi(env, admin);
|
package/dist/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { getCliPkgDir } from
|
|
4
|
-
import {
|
|
1
|
+
import { exec } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
import { getCliPkgDir } from "@prosopo/config";
|
|
4
|
+
import { assert, describe, test } from "vitest";
|
|
5
5
|
const execPromise = promisify(exec);
|
|
6
|
-
describe(
|
|
7
|
-
test(
|
|
6
|
+
describe("provider bundle", () => {
|
|
7
|
+
test("bundle runs after bundling", async () => {
|
|
8
8
|
const rootDir = getCliPkgDir();
|
|
9
|
-
await execPromise(`cd ${rootDir} && npm run bundle
|
|
9
|
+
await execPromise(`cd ${rootDir} && NODE_ENV=production npm run bundle`);
|
|
10
10
|
const { stdout: runOut, stderr: runErr } = await execPromise(`cd ${rootDir} && node dist/bundle/provider.cli.bundle.js version`);
|
|
11
|
-
assert(runOut.includes(
|
|
11
|
+
assert(runOut.includes("Version:"));
|
|
12
12
|
}, 120000);
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=bundle.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.test.js","sourceRoot":"","sources":["../../../src/tests/bundle/bundle.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle.test.js","sourceRoot":"","sources":["../../../src/tests/bundle/bundle.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAEpC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAE7C,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAG/B,MAAM,WAAW,CAAC,MAAM,OAAO,wCAAwC,CAAC,CAAC;QAGzE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAC3D,MAAM,OAAO,qDAAqD,CAClE,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACrC,CAAC,EAAE,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,64 +1,58 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"tslib": "2.6.2",
|
|
59
|
-
"typescript": "5.1.6"
|
|
60
|
-
},
|
|
61
|
-
"author": "Prosopo",
|
|
62
|
-
"license": "Apache-2.0",
|
|
63
|
-
"sideEffects": false
|
|
2
|
+
"name": "@prosopo/cli",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "CLI for Prosopo Provider",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=20",
|
|
9
|
+
"npm": ">=9"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/cjs/index.cjs"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"clean": "tsc --build --clean",
|
|
19
|
+
"build": "tsc --build --verbose",
|
|
20
|
+
"build:cjs": "npx vite --config vite.cjs.config.ts build",
|
|
21
|
+
"bundle": "NODE_ENV=${NODE_ENV:-production}; vite build --config vite.config.ts --mode $NODE_ENV",
|
|
22
|
+
"test": "NODE_ENV=${NODE_ENV:-test}; npx vitest run --config ./vite.test.config.ts",
|
|
23
|
+
"cli": "node ./dist/cli.js",
|
|
24
|
+
"start": "node ./dist/cli.js --api"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@polkadot/keyring": "12.6.2",
|
|
28
|
+
"@polkadot/util": "12.6.2",
|
|
29
|
+
"@polkadot/util-crypto": "12.6.2",
|
|
30
|
+
|
|
31
|
+
"@prosopo/common": "2.0.0",
|
|
32
|
+
"@prosopo/contract": "2.0.0",
|
|
33
|
+
"@prosopo/env": "2.0.0",
|
|
34
|
+
"@prosopo/provider": "2.0.0",
|
|
35
|
+
"@prosopo/types": "2.0.0",
|
|
36
|
+
"@prosopo/util": "2.0.0",
|
|
37
|
+
"cors": "^2.8.5",
|
|
38
|
+
"cron-parser": "^4.9.0",
|
|
39
|
+
"dotenv": "^16.0.1",
|
|
40
|
+
"express-rate-limit": "^7.3.1",
|
|
41
|
+
"yargs": "^17.7.2",
|
|
42
|
+
"zod": "^3.22.4"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@prosopo/config": "2.0.0",
|
|
46
|
+
"@types/cors": "^2.8.14",
|
|
47
|
+
"@types/yargs": "^17.0.32",
|
|
48
|
+
"es-main": "^1.2.0",
|
|
49
|
+
"express": "^4.18.2",
|
|
50
|
+
"tslib": "2.6.2",
|
|
51
|
+
"typescript": "5.1.6",
|
|
52
|
+
"vite": "^5.1.7",
|
|
53
|
+
"vitest": "^1.3.1"
|
|
54
|
+
},
|
|
55
|
+
"author": "Prosopo",
|
|
56
|
+
"license": "Apache-2.0",
|
|
57
|
+
"sideEffects": false
|
|
64
58
|
}
|
package/vite.cjs.config.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import path from "node:path";
|
|
1
2
|
// Copyright 2021-2024 Prosopo (UK) Ltd.
|
|
2
3
|
//
|
|
3
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -11,9 +12,8 @@
|
|
|
11
12
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
13
|
// See the License for the specific language governing permissions and
|
|
13
14
|
// limitations under the License.
|
|
14
|
-
import { ViteCommonJSConfig } from
|
|
15
|
-
import path from 'path'
|
|
15
|
+
import { ViteCommonJSConfig } from "@prosopo/config";
|
|
16
16
|
|
|
17
17
|
export default function () {
|
|
18
|
-
|
|
18
|
+
return ViteCommonJSConfig("cli", path.resolve("./tsconfig.cjs.json"));
|
|
19
19
|
}
|
package/vite.config.ts
CHANGED
|
@@ -11,37 +11,49 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
import * as path from
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { version } from
|
|
14
|
+
import * as path from "node:path";
|
|
15
|
+
import { loadEnv } from "@prosopo/cli";
|
|
16
|
+
import { ViteBackendConfig } from "@prosopo/config";
|
|
17
|
+
import { defineConfig } from "vite";
|
|
18
|
+
import { version } from "./package.json";
|
|
19
19
|
|
|
20
20
|
// load env using our util because vite loadEnv is not working for .env.development
|
|
21
|
-
loadEnv()
|
|
21
|
+
loadEnv();
|
|
22
22
|
|
|
23
23
|
// Package specific config
|
|
24
|
-
const packageName =
|
|
25
|
-
const bundleName =
|
|
26
|
-
const dir = path.resolve()
|
|
27
|
-
const entry =
|
|
28
|
-
const packageVersion = version
|
|
24
|
+
const packageName = "@prosopo/cli";
|
|
25
|
+
const bundleName = "provider";
|
|
26
|
+
const dir = path.resolve();
|
|
27
|
+
const entry = "./src/cli.ts";
|
|
28
|
+
const packageVersion = version;
|
|
29
29
|
|
|
30
|
-
process.env.TS_NODE_PROJECT = path.resolve(
|
|
30
|
+
process.env.TS_NODE_PROJECT = path.resolve("./tsconfig.json");
|
|
31
31
|
|
|
32
32
|
// Merge with generic backend config
|
|
33
33
|
export default defineConfig(async ({ command, mode }) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
34
|
+
const backendConfig = await ViteBackendConfig(
|
|
35
|
+
packageName,
|
|
36
|
+
packageVersion,
|
|
37
|
+
bundleName,
|
|
38
|
+
dir,
|
|
39
|
+
entry,
|
|
40
|
+
command,
|
|
41
|
+
mode,
|
|
42
|
+
);
|
|
43
|
+
return defineConfig({
|
|
44
|
+
define: {
|
|
45
|
+
...backendConfig.define,
|
|
46
|
+
...(process.env.PROSOPO_MONGO_EVENTS_URI && {
|
|
47
|
+
"process.env.PROSOPO_MONGO_EVENTS_URI": JSON.stringify(
|
|
48
|
+
process.env.PROSOPO_MONGO_EVENTS_URI,
|
|
49
|
+
),
|
|
50
|
+
}),
|
|
51
|
+
...(process.env._DEV_ONLY_WATCH_EVENTS && {
|
|
52
|
+
"process.env._DEV_ONLY_WATCH_EVENTS": JSON.stringify(
|
|
53
|
+
process.env._DEV_ONLY_WATCH_EVENTS,
|
|
54
|
+
),
|
|
55
|
+
}),
|
|
56
|
+
},
|
|
57
|
+
...backendConfig,
|
|
58
|
+
});
|
|
59
|
+
});
|
package/vite.test.config.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
1
3
|
// Copyright 2021-2024 Prosopo (UK) Ltd.
|
|
2
4
|
//
|
|
3
5
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -11,22 +13,20 @@
|
|
|
11
13
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
14
|
// See the License for the specific language governing permissions and
|
|
13
15
|
// limitations under the License.
|
|
14
|
-
import { ViteTestConfig } from
|
|
15
|
-
import dotenv from
|
|
16
|
-
|
|
17
|
-
import path from 'path'
|
|
18
|
-
process.env.NODE_ENV = 'test'
|
|
16
|
+
import { ViteTestConfig } from "@prosopo/config";
|
|
17
|
+
import dotenv from "dotenv";
|
|
18
|
+
process.env.NODE_ENV = "test";
|
|
19
19
|
// if .env.test exists at this level, use it, otherwise use the one at the root
|
|
20
|
-
const envFile = `.env.${process.env.NODE_ENV ||
|
|
21
|
-
let envPath = envFile
|
|
20
|
+
const envFile = `.env.${process.env.NODE_ENV || "development"}`;
|
|
21
|
+
let envPath = envFile;
|
|
22
22
|
if (fs.existsSync(envFile)) {
|
|
23
|
-
|
|
23
|
+
envPath = path.resolve(envFile);
|
|
24
24
|
} else if (fs.existsSync(`../../${envFile}`)) {
|
|
25
|
-
|
|
25
|
+
envPath = path.resolve(`../../${envFile}`);
|
|
26
26
|
} else {
|
|
27
|
-
|
|
27
|
+
throw new Error(`No ${envFile} file found`);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
dotenv.config({ path: envPath })
|
|
30
|
+
dotenv.config({ path: envPath });
|
|
31
31
|
|
|
32
|
-
export default ViteTestConfig
|
|
32
|
+
export default ViteTestConfig;
|
|
@@ -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?.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;
|