@prosopo/cli 2.1.4 → 2.1.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/RateLimiter.d.ts +63 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +66 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/argv.d.ts +22 -0
- package/dist/argv.d.ts.map +1 -0
- package/dist/argv.js +21 -0
- package/dist/argv.js.map +1 -0
- package/dist/cjs/RateLimiter.cjs +68 -0
- package/dist/cjs/argv.cjs +19 -0
- package/dist/cjs/cli.cjs +53 -0
- package/dist/cjs/commands/index.cjs +10 -0
- package/dist/cjs/commands/providerSetDataset.cjs +51 -0
- package/dist/cjs/commands/siteKeyRegister.cjs +31 -0
- package/dist/cjs/commands/storeCaptchasExternally.cjs +25 -0
- package/dist/cjs/commands/validators.cjs +41 -0
- package/dist/cjs/commands/version.cjs +14 -0
- package/dist/cjs/files.cjs +39 -0
- package/dist/cjs/index.cjs +21 -0
- package/dist/cjs/process.env.cjs +45 -0
- package/dist/cjs/prosopo.config.cjs +68 -0
- package/dist/cjs/reloader.cjs +59 -0
- package/dist/cjs/start.cjs +69 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +56 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/batchCommit.d.ts +21 -0
- package/dist/commands/batchCommit.d.ts.map +1 -0
- package/dist/commands/batchCommit.js +37 -0
- package/dist/commands/batchCommit.js.map +1 -0
- package/dist/commands/dappAccounts.d.ts +15 -0
- package/dist/commands/dappAccounts.d.ts.map +1 -0
- package/dist/commands/dappAccounts.js +25 -0
- package/dist/commands/dappAccounts.js.map +1 -0
- package/dist/commands/dappDetails.d.ts +19 -0
- package/dist/commands/dappDetails.d.ts.map +1 -0
- package/dist/commands/dappDetails.js +32 -0
- package/dist/commands/dappDetails.js.map +1 -0
- package/dist/commands/dappRegister.d.ts +23 -0
- package/dist/commands/dappRegister.d.ts.map +1 -0
- package/dist/commands/dappRegister.js +48 -0
- package/dist/commands/dappRegister.js.map +1 -0
- package/dist/commands/dappUpdate.d.ts +23 -0
- package/dist/commands/dappUpdate.d.ts.map +1 -0
- package/dist/commands/dappUpdate.js +50 -0
- package/dist/commands/dappUpdate.js.map +1 -0
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +5 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/providerAccounts.d.ts +9 -0
- package/dist/commands/providerAccounts.d.ts.map +1 -0
- package/dist/commands/providerAccounts.js +24 -0
- package/dist/commands/providerAccounts.js.map +1 -0
- package/dist/commands/providerDataset.d.ts +18 -0
- package/dist/commands/providerDataset.d.ts.map +1 -0
- package/dist/commands/providerDataset.js +46 -0
- package/dist/commands/providerDataset.js.map +1 -0
- package/dist/commands/providerDeregister.d.ts +19 -0
- package/dist/commands/providerDeregister.d.ts.map +1 -0
- package/dist/commands/providerDeregister.js +30 -0
- package/dist/commands/providerDeregister.js.map +1 -0
- package/dist/commands/providerDetails.d.ts +19 -0
- package/dist/commands/providerDetails.d.ts.map +1 -0
- package/dist/commands/providerDetails.js +33 -0
- package/dist/commands/providerDetails.js.map +1 -0
- package/dist/commands/providerRegister.d.ts +9 -0
- package/dist/commands/providerRegister.d.ts.map +1 -0
- package/dist/commands/providerRegister.js +60 -0
- package/dist/commands/providerRegister.js.map +1 -0
- package/dist/commands/providerSetDataset.d.ts +17 -0
- package/dist/commands/providerSetDataset.d.ts.map +1 -0
- package/dist/commands/providerSetDataset.js +35 -0
- package/dist/commands/providerSetDataset.js.map +1 -0
- package/dist/commands/providerUpdate.d.ts +27 -0
- package/dist/commands/providerUpdate.d.ts.map +1 -0
- package/dist/commands/providerUpdate.js +63 -0
- package/dist/commands/providerUpdate.js.map +1 -0
- package/dist/commands/siteKeyRegister.d.ts +19 -0
- package/dist/commands/siteKeyRegister.d.ts.map +1 -0
- package/dist/commands/siteKeyRegister.js +31 -0
- package/dist/commands/siteKeyRegister.js.map +1 -0
- package/dist/commands/storeCaptchasExternally.d.ts +13 -0
- package/dist/commands/storeCaptchasExternally.d.ts.map +1 -0
- package/dist/commands/storeCaptchasExternally.js +27 -0
- package/dist/commands/storeCaptchasExternally.js.map +1 -0
- package/dist/commands/validators.d.ts +18 -0
- package/dist/commands/validators.d.ts.map +1 -0
- package/dist/commands/validators.js +36 -0
- package/dist/commands/validators.js.map +1 -0
- package/dist/commands/version.d.ts +12 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +13 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/env.d.ts +4 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +25 -0
- package/dist/env.js.map +1 -0
- package/dist/files.d.ts +4 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +37 -0
- package/dist/files.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/process.env.d.ts +8 -0
- package/dist/process.env.d.ts.map +1 -0
- package/dist/process.env.js +44 -0
- package/dist/process.env.js.map +1 -0
- package/dist/prosopo.config.d.ts +3 -0
- package/dist/prosopo.config.d.ts.map +1 -0
- package/dist/prosopo.config.js +73 -0
- package/dist/prosopo.config.js.map +1 -0
- package/dist/reloader.d.ts +21 -0
- package/dist/reloader.d.ts.map +1 -0
- package/dist/reloader.js +58 -0
- package/dist/reloader.js.map +1 -0
- package/dist/start.d.ts +5 -0
- package/dist/start.d.ts.map +1 -0
- package/dist/start.js +65 -0
- package/dist/start.js.map +1 -0
- package/dist/tests/bundle/bundle.test.d.ts +2 -0
- package/dist/tests/bundle/bundle.test.d.ts.map +1 -0
- package/dist/tests/bundle/bundle.test.js +14 -0
- package/dist/tests/bundle/bundle.test.js.map +1 -0
- package/dist/tests/bundle/bundle.unit.test.d.ts +2 -0
- package/dist/tests/bundle/bundle.unit.test.d.ts.map +1 -0
- package/dist/tests/bundle/bundle.unit.test.js +14 -0
- package/dist/tests/bundle/bundle.unit.test.js.map +1 -0
- 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 +73 -0
- package/dist/tests/reloader.test.js.map +1 -0
- package/package.json +12 -12
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const common = require("@prosopo/common");
|
|
3
|
+
const types = require("@prosopo/types");
|
|
4
|
+
const RateLimiter = require("./RateLimiter.cjs");
|
|
5
|
+
const process_env = require("./process.env.cjs");
|
|
6
|
+
function getMongoURI() {
|
|
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;
|
|
16
|
+
}
|
|
17
|
+
function getConfig(captchaSolutionsConfig, captchaServeConfig, who = "PROVIDER") {
|
|
18
|
+
return types.ProsopoConfigSchema.parse({
|
|
19
|
+
logLevel: common.getLogLevel(),
|
|
20
|
+
defaultEnvironment: process.env.PROSOPO_DEFAULT_ENVIRONMENT ? types.EnvironmentTypesSchema.parse(process.env.PROSOPO_DEFAULT_ENVIRONMENT) : types.EnvironmentTypesSchema.enum.development,
|
|
21
|
+
account: {
|
|
22
|
+
address: process_env.getAddress(who),
|
|
23
|
+
password: process_env.getPassword(who),
|
|
24
|
+
secret: process_env.getSecret(who)
|
|
25
|
+
},
|
|
26
|
+
database: {
|
|
27
|
+
development: {
|
|
28
|
+
type: types.DatabaseTypes.enum.provider,
|
|
29
|
+
endpoint: getMongoURI(),
|
|
30
|
+
dbname: process.env.PROSOPO_DATABASE_NAME,
|
|
31
|
+
authSource: process.env.PROSOPO_DATABASE_AUTH_SOURCE
|
|
32
|
+
},
|
|
33
|
+
staging: {
|
|
34
|
+
type: types.DatabaseTypes.enum.provider,
|
|
35
|
+
endpoint: getMongoURI(),
|
|
36
|
+
dbname: process.env.PROSOPO_DATABASE_NAME,
|
|
37
|
+
authSource: process.env.PROSOPO_DATABASE_AUTH_SOURCE
|
|
38
|
+
},
|
|
39
|
+
production: {
|
|
40
|
+
type: types.DatabaseTypes.enum.provider,
|
|
41
|
+
endpoint: getMongoURI(),
|
|
42
|
+
dbname: process.env.PROSOPO_DATABASE_NAME,
|
|
43
|
+
authSource: process.env.PROSOPO_DATABASE_AUTH_SOURCE
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
server: {
|
|
47
|
+
baseURL: process.env.PROSOPO_API_BASE_URL || "http://localhost",
|
|
48
|
+
port: process.env.PROSOPO_API_PORT ? Number.parseInt(process.env.PROSOPO_API_PORT) : 9229
|
|
49
|
+
},
|
|
50
|
+
captchaSolutions: captchaSolutionsConfig,
|
|
51
|
+
captchas: captchaServeConfig,
|
|
52
|
+
devOnlyWatchEvents: process.env._DEV_ONLY_WATCH_EVENTS === "true",
|
|
53
|
+
mongoEventsUri: process.env.PROSOPO_MONGO_EVENTS_URI || "",
|
|
54
|
+
mongoCaptchaUri: process.env.PROSOPO_MONGO_CAPTCHA_URI || "",
|
|
55
|
+
mongoClientUri: process.env.PROSOPO_MONGO_CLIENT_URI || "",
|
|
56
|
+
rateLimits: RateLimiter.getRateLimitConfig(),
|
|
57
|
+
proxyCount: process.env.PROSOPO_PROXY_COUNT ? Number.parseInt(process.env.PROSOPO_PROXY_COUNT) : 0,
|
|
58
|
+
scheduledTasks: {
|
|
59
|
+
captchaScheduler: {
|
|
60
|
+
schedule: process.env.CAPTCHA_STORAGE_SCHEDULE
|
|
61
|
+
},
|
|
62
|
+
clientListScheduler: {
|
|
63
|
+
schedule: process.env.CLIENT_LIST_SCHEDULE
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
module.exports = getConfig;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const fs = require("node:fs");
|
|
3
|
+
const common = require("@prosopo/common");
|
|
4
|
+
const dotenv = require("@prosopo/dotenv");
|
|
5
|
+
const env = require("@prosopo/env");
|
|
6
|
+
const start = require("./start.cjs");
|
|
7
|
+
const log = common.getLogger(common.LogLevel.enum.info, "CLI");
|
|
8
|
+
class ReloadingAPI {
|
|
9
|
+
constructor(envPath, config, pair, processedArgs) {
|
|
10
|
+
this._envPath = envPath;
|
|
11
|
+
this._config = config;
|
|
12
|
+
this._pair = pair;
|
|
13
|
+
this._processedArgs = processedArgs;
|
|
14
|
+
this._restarting = false;
|
|
15
|
+
}
|
|
16
|
+
get env() {
|
|
17
|
+
return this._env;
|
|
18
|
+
}
|
|
19
|
+
async start(reloadEnv = false) {
|
|
20
|
+
log.info("Starting API");
|
|
21
|
+
this._envWatcher = await this._watchEnv();
|
|
22
|
+
dotenv.loadEnv();
|
|
23
|
+
if (!this._env && reloadEnv) {
|
|
24
|
+
const env$1 = new env.ProviderEnvironment(this._config, this._pair);
|
|
25
|
+
await env$1.isReady();
|
|
26
|
+
this._env = env$1;
|
|
27
|
+
}
|
|
28
|
+
this.api = await start.start(this.env, !!this._processedArgs.adminApi);
|
|
29
|
+
}
|
|
30
|
+
async startDev() {
|
|
31
|
+
log.info("Starting API");
|
|
32
|
+
this._envWatcher = await this._watchEnv();
|
|
33
|
+
dotenv.loadEnv();
|
|
34
|
+
const env$1 = new env.ProviderEnvironment(this._config, this._pair);
|
|
35
|
+
await env$1.isReady();
|
|
36
|
+
this.api = await start.startDev(env$1, !!this._processedArgs.adminApi);
|
|
37
|
+
}
|
|
38
|
+
async stop() {
|
|
39
|
+
log.info("Stopping API");
|
|
40
|
+
return new Promise((resolve) => {
|
|
41
|
+
if (this.api) {
|
|
42
|
+
this.api.close(resolve);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async _watchEnv() {
|
|
47
|
+
return fs.watchFile(this._envPath, async () => {
|
|
48
|
+
log.info(`env file change detected. Restarting: ${this._restarting}`);
|
|
49
|
+
if (!this._restarting) {
|
|
50
|
+
this._restarting = true;
|
|
51
|
+
await this.stop();
|
|
52
|
+
dotenv.loadEnv();
|
|
53
|
+
await this.start(true);
|
|
54
|
+
this._restarting = false;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
module.exports = ReloadingAPI;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const contract = require("@prosopo/contract");
|
|
4
|
+
const dotenv = require("@prosopo/dotenv");
|
|
5
|
+
const env = require("@prosopo/env");
|
|
6
|
+
const locale = require("@prosopo/locale");
|
|
7
|
+
const provider = require("@prosopo/provider");
|
|
8
|
+
const cors = require("cors");
|
|
9
|
+
const express = require("express");
|
|
10
|
+
const rateLimit = require("express-rate-limit");
|
|
11
|
+
const process_env = require("./process.env.cjs");
|
|
12
|
+
const prosopo_config = require("./prosopo.config.cjs");
|
|
13
|
+
function startApi(env2, admin = false, port) {
|
|
14
|
+
env2.logger.info("Starting Prosopo API");
|
|
15
|
+
const apiApp = express();
|
|
16
|
+
const apiPort = port || env2.config.server.port;
|
|
17
|
+
apiApp.set(
|
|
18
|
+
"trust proxy",
|
|
19
|
+
env2.config.proxyCount
|
|
20
|
+
);
|
|
21
|
+
apiApp.use(cors());
|
|
22
|
+
apiApp.use(express.json({ limit: "50mb" }));
|
|
23
|
+
apiApp.use(locale.i18nMiddleware({}));
|
|
24
|
+
apiApp.use(provider.prosopoRouter(env2));
|
|
25
|
+
apiApp.use(provider.prosopoVerifyRouter(env2));
|
|
26
|
+
if (admin) {
|
|
27
|
+
apiApp.use(provider.authMiddleware(env2));
|
|
28
|
+
apiApp.use(provider.prosopoAdminRouter(env2));
|
|
29
|
+
}
|
|
30
|
+
const rateLimits = env2.config.rateLimits;
|
|
31
|
+
for (const [path, limit] of Object.entries(rateLimits)) {
|
|
32
|
+
const enumPath = path;
|
|
33
|
+
apiApp.use(enumPath, rateLimit(limit));
|
|
34
|
+
}
|
|
35
|
+
return apiApp.listen(apiPort, () => {
|
|
36
|
+
env2.logger.info(`Prosopo app listening at http://localhost:${apiPort}`);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async function start(env$1, admin, port) {
|
|
40
|
+
if (!env$1) {
|
|
41
|
+
dotenv.loadEnv();
|
|
42
|
+
process_env.getDB();
|
|
43
|
+
const secret = process_env.getSecret();
|
|
44
|
+
const config = prosopo_config(void 0, {
|
|
45
|
+
solved: { count: 2 },
|
|
46
|
+
unsolved: { count: 0 }
|
|
47
|
+
});
|
|
48
|
+
const pair = await contract.getPairAsync(secret);
|
|
49
|
+
env$1 = new env.ProviderEnvironment(config, pair);
|
|
50
|
+
} else {
|
|
51
|
+
env$1.logger.debug("Env already defined");
|
|
52
|
+
}
|
|
53
|
+
await env$1.isReady();
|
|
54
|
+
if (env$1.pair) {
|
|
55
|
+
provider.storeCaptchasExternally(env$1.pair, env$1.config).catch((err) => {
|
|
56
|
+
console.error("Failed to start scheduler:", err);
|
|
57
|
+
});
|
|
58
|
+
provider.getClientList(env$1.pair, env$1.config).catch((err) => {
|
|
59
|
+
console.error("Failed to get client list:", err);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return startApi(env$1, admin, port);
|
|
63
|
+
}
|
|
64
|
+
async function startDev(env2, admin) {
|
|
65
|
+
start(env2, admin, 9238);
|
|
66
|
+
return await start(env2, admin);
|
|
67
|
+
}
|
|
68
|
+
exports.start = start;
|
|
69
|
+
exports.startDev = startDev;
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { LogLevel, getLogger } from "@prosopo/common";
|
|
3
|
+
import { getPairAsync } from "@prosopo/contract";
|
|
4
|
+
import { loadEnv } from "@prosopo/dotenv";
|
|
5
|
+
import { isMain } from "@prosopo/util";
|
|
6
|
+
import { processArgs } from "./argv.js";
|
|
7
|
+
import getConfig from "./prosopo.config.js";
|
|
8
|
+
import ReloadingAPI from "./reloader.js";
|
|
9
|
+
const log = getLogger(LogLevel.enum.info, "CLI");
|
|
10
|
+
async function main() {
|
|
11
|
+
const envPath = loadEnv();
|
|
12
|
+
const config = getConfig(undefined, {
|
|
13
|
+
solved: { count: 2 },
|
|
14
|
+
unsolved: { count: 0 },
|
|
15
|
+
});
|
|
16
|
+
if (config.devOnlyWatchEvents) {
|
|
17
|
+
log.warn(`
|
|
18
|
+
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
|
|
19
|
+
EVENT TRACKING ON. IF NOT DEVELOPMENT, PLEASE STOP, CHANGE THE ENVIRONMENT, AND RESTART
|
|
20
|
+
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
|
|
21
|
+
`);
|
|
22
|
+
}
|
|
23
|
+
const pair = await getPairAsync(config.account.secret, config.account.address);
|
|
24
|
+
log.info(`Pair address: ${pair.address}`);
|
|
25
|
+
const processedArgs = await processArgs(process.argv, pair, config);
|
|
26
|
+
log.info(`Processsed args: ${JSON.stringify(processedArgs, null, 4)}`);
|
|
27
|
+
if (processedArgs.api) {
|
|
28
|
+
if (process.env.NODE_ENV === "development") {
|
|
29
|
+
await new ReloadingAPI(envPath, config, pair, processedArgs)
|
|
30
|
+
.startDev()
|
|
31
|
+
.then(() => {
|
|
32
|
+
log.info("Reloading API started...");
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
await new ReloadingAPI(envPath, config, pair, processedArgs)
|
|
37
|
+
.start()
|
|
38
|
+
.then(() => {
|
|
39
|
+
log.info("Reloading API started...");
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
process.exit(0);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (isMain(import.meta.url, "provider")) {
|
|
48
|
+
main()
|
|
49
|
+
.then(() => {
|
|
50
|
+
log.info("Running main process...");
|
|
51
|
+
})
|
|
52
|
+
.catch((error) => {
|
|
53
|
+
log.error(error);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAEjD,KAAK,UAAU,IAAI;IAClB,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAG1B,MAAM,MAAM,GAAwB,SAAS,CAAC,SAAS,EAAE;QACxD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;QACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;KACtB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CACP;;;;aAIU,CACV,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,EACrB,MAAM,CAAC,OAAO,CAAC,OAAO,CACtB,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpE,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC5C,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC;iBAC1D,QAAQ,EAAE;iBACV,IAAI,CAAC,GAAG,EAAE;gBACV,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC;iBAC1D,KAAK,EAAE;iBACP,IAAI,CAAC,GAAG,EAAE;gBACV,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC;AAGD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE;SACJ,IAAI,CAAC,GAAG,EAAE;QACV,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ArgumentsCamelCase, Argv } from 'yargs';
|
|
2
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
3
|
+
import { Logger } from '@prosopo/common';
|
|
4
|
+
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
5
|
+
declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
|
|
6
|
+
logger?: Logger;
|
|
7
|
+
}) => {
|
|
8
|
+
command: string;
|
|
9
|
+
describe: "Batch commit user solutions to contract";
|
|
10
|
+
builder: (yargs: Argv) => Argv<{
|
|
11
|
+
schedule: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
handler: (argv: ArgumentsCamelCase) => Promise<void>;
|
|
14
|
+
middlewares: ((argv: ArgumentsCamelCase) => {
|
|
15
|
+
schedule: string;
|
|
16
|
+
} | {
|
|
17
|
+
schedule: null;
|
|
18
|
+
})[];
|
|
19
|
+
};
|
|
20
|
+
export default _default;
|
|
21
|
+
//# sourceMappingURL=batchCommit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchCommit.d.ts","sourceRoot":"","sources":["../../src/commands/batchCommit.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAA8B,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;+BAI9B,WAAW,UAAU,mBAAmB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAKpE,IAAI;;;oBAOC,kBAAkB;;;;;;;AAZhD,wBAmCC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { BatchCommitmentsTask } from '@prosopo/provider';
|
|
2
|
+
import { LogLevel, ProsopoEnvError, getLogger } from '@prosopo/common';
|
|
3
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
4
|
+
import { validateScheduleExpression } from './validators.js';
|
|
5
|
+
export default (pair, config, cmdArgs) => {
|
|
6
|
+
const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, 'cli.batch_commit');
|
|
7
|
+
return {
|
|
8
|
+
command: 'batch_commit',
|
|
9
|
+
describe: 'Batch commit user solutions to contract',
|
|
10
|
+
builder: (yargs) => {
|
|
11
|
+
return yargs.option('schedule', {
|
|
12
|
+
type: 'string',
|
|
13
|
+
demand: false,
|
|
14
|
+
desc: 'A Recurring schedule expression',
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
handler: async (argv) => {
|
|
18
|
+
const env = new ProviderEnvironment(config, pair);
|
|
19
|
+
await env.isReady();
|
|
20
|
+
if (argv.schedule) {
|
|
21
|
+
throw new ProsopoEnvError('GENERAL.NOT_IMPLEMENTED');
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if (env.db) {
|
|
25
|
+
const batchCommitter = new BatchCommitmentsTask(env.config.batchCommit, env.getContractInterface(), env.db, 0n, env.logger);
|
|
26
|
+
const result = await batchCommitter.run();
|
|
27
|
+
logger.info(`Batch commit complete: ${result}`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
logger.error('No database configured');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
middlewares: [validateScheduleExpression],
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=batchCommit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchCommit.js","sourceRoot":"","sources":["../../src/commands/batchCommit.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAU,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAE5D,eAAe,CAAC,IAAiB,EAAE,MAA2B,EAAE,OAA6B,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACnF,OAAO;QACH,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,yCAAkD;QAC5D,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE;YACrB,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,QAAiB;gBACvB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,iCAAiC;aACjC,CAAC,CAAA;QACf,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACjD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;YACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAA;aACvD;iBAAM;gBACH,IAAI,GAAG,CAAC,EAAE,EAAE;oBACR,MAAM,cAAc,GAAG,IAAI,oBAAoB,CAC3C,GAAG,CAAC,MAAM,CAAC,WAAW,EACtB,GAAG,CAAC,oBAAoB,EAAE,EAC1B,GAAG,CAAC,EAAE,EACN,EAAE,EACF,GAAG,CAAC,MAAM,CACb,CAAA;oBACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAA;oBACzC,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAA;iBAClD;qBAAM;oBACH,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;iBACzC;aACJ;QACL,CAAC;QACD,WAAW,EAAE,CAAC,0BAA0B,CAAC;KAC5C,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ArgumentsCamelCase, Argv } from 'yargs';
|
|
2
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
3
|
+
import { Logger } from '@prosopo/common';
|
|
4
|
+
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
5
|
+
declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
|
|
6
|
+
logger?: Logger;
|
|
7
|
+
}) => {
|
|
8
|
+
command: string;
|
|
9
|
+
describe: string;
|
|
10
|
+
builder: (yargs: Argv) => Argv<{}>;
|
|
11
|
+
handler: (argv: ArgumentsCamelCase) => Promise<void>;
|
|
12
|
+
middlewares: never[];
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
15
|
+
//# sourceMappingURL=dappAccounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappAccounts.d.ts","sourceRoot":"","sources":["../../src/commands/dappAccounts.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAAa,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;+BAI9B,WAAW,UAAU,mBAAmB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAMpE,IAAI;oBACC,kBAAkB;;;AAPhD,wBAsBC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LogLevel, getLogger } from '@prosopo/common';
|
|
2
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
3
|
+
import { Tasks } from '@prosopo/provider';
|
|
4
|
+
export default (pair, config, cmdArgs) => {
|
|
5
|
+
const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, 'cli.dapp_accounts');
|
|
6
|
+
return {
|
|
7
|
+
command: 'dapp_accounts',
|
|
8
|
+
describe: 'List all dapp accounts',
|
|
9
|
+
builder: (yargs) => yargs,
|
|
10
|
+
handler: async (argv) => {
|
|
11
|
+
try {
|
|
12
|
+
const env = new ProviderEnvironment(config, pair);
|
|
13
|
+
await env.isReady();
|
|
14
|
+
const tasks = new Tasks(env);
|
|
15
|
+
const result = await tasks.contract.contract['dappAccounts']();
|
|
16
|
+
logger.info(JSON.stringify(result, null, 2));
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
logger.error(err);
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
middlewares: [],
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=dappAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappAccounts.js","sourceRoot":"","sources":["../../src/commands/dappAccounts.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAU,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,eAAe,CAAC,IAAiB,EAAE,MAA2B,EAAE,OAA6B,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAEpF,OAAO;QACH,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,wBAAwB;QAClC,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CAAC,KAAK;QAC/B,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;YACxC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAEjD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,MAAM,MAAM,GAAG,MAAO,KAAK,CAAC,QAAQ,CAAC,QAAgB,CAAC,cAAc,CAAC,EAAE,CAAA;gBAEvE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;aAC/C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACpB;QACL,CAAC;QACD,WAAW,EAAE,EAAE;KAClB,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ArgumentsCamelCase, Argv } from 'yargs';
|
|
2
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
3
|
+
import { Logger } from '@prosopo/common';
|
|
4
|
+
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
5
|
+
declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
|
|
6
|
+
logger?: Logger;
|
|
7
|
+
}) => {
|
|
8
|
+
command: string;
|
|
9
|
+
describe: string;
|
|
10
|
+
builder: (yargs: Argv) => Argv<{
|
|
11
|
+
address: string;
|
|
12
|
+
}>;
|
|
13
|
+
handler: (argv: ArgumentsCamelCase) => Promise<void>;
|
|
14
|
+
middlewares: ((argv: ArgumentsCamelCase) => {
|
|
15
|
+
address: string;
|
|
16
|
+
})[];
|
|
17
|
+
};
|
|
18
|
+
export default _default;
|
|
19
|
+
//# sourceMappingURL=dappDetails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappDetails.d.ts","sourceRoot":"","sources":["../../src/commands/dappDetails.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAAa,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;+BAK9B,WAAW,UAAU,mBAAmB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAMpE,IAAI;;;oBAMC,kBAAkB;;;;;AAZhD,wBA4BC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LogLevel, getLogger } from '@prosopo/common';
|
|
2
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
3
|
+
import { Tasks } from '@prosopo/provider';
|
|
4
|
+
import { validateAddress } from './validators.js';
|
|
5
|
+
export default (pair, config, cmdArgs) => {
|
|
6
|
+
const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, 'cli.dapp_details');
|
|
7
|
+
return {
|
|
8
|
+
command: 'dapp_details',
|
|
9
|
+
describe: 'List details of a single Dapp',
|
|
10
|
+
builder: (yargs) => yargs.option('address', {
|
|
11
|
+
type: 'string',
|
|
12
|
+
demand: true,
|
|
13
|
+
desc: 'The AccountId of the Dapp',
|
|
14
|
+
}),
|
|
15
|
+
handler: async (argv) => {
|
|
16
|
+
try {
|
|
17
|
+
const env = new ProviderEnvironment(config, pair);
|
|
18
|
+
await env.isReady();
|
|
19
|
+
const tasks = new Tasks(env);
|
|
20
|
+
const result = (await tasks.contract.query.getDapp(validateAddress(argv).address)).value
|
|
21
|
+
.unwrap()
|
|
22
|
+
.unwrap();
|
|
23
|
+
logger.info(JSON.stringify(result, null, 2));
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
logger.error(err);
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
middlewares: [validateAddress],
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=dappDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappDetails.js","sourceRoot":"","sources":["../../src/commands/dappDetails.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAU,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAe,CAAC,IAAiB,EAAE,MAA2B,EAAE,OAA6B,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IAEnF,OAAO;QACH,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,+BAA+B;QACzC,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACrB,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;YACpB,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,2BAA2B;SAC3B,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;YACxC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBACjD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;qBACnF,MAAM,EAAE;qBACR,MAAM,EAAE,CAAA;gBAEb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;aAC/C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACpB;QACL,CAAC;QACD,WAAW,EAAE,CAAC,eAAe,CAAC;KACjC,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ArgumentsCamelCase, Argv } from 'yargs';
|
|
2
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
3
|
+
import { Logger } from '@prosopo/common';
|
|
4
|
+
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
5
|
+
declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
|
|
6
|
+
logger?: Logger;
|
|
7
|
+
}) => {
|
|
8
|
+
command: string;
|
|
9
|
+
describe: string;
|
|
10
|
+
builder: (yargs: Argv) => Argv<{
|
|
11
|
+
contract: string;
|
|
12
|
+
} & {
|
|
13
|
+
payee: string;
|
|
14
|
+
}>;
|
|
15
|
+
handler: (argv: ArgumentsCamelCase) => Promise<void>;
|
|
16
|
+
middlewares: (((argv: ArgumentsCamelCase) => {
|
|
17
|
+
address: string;
|
|
18
|
+
}) | ((argv: ArgumentsCamelCase) => {
|
|
19
|
+
payee: import("@prosopo/captcha-contract").Payee;
|
|
20
|
+
} | undefined))[];
|
|
21
|
+
};
|
|
22
|
+
export default _default;
|
|
23
|
+
//# sourceMappingURL=dappRegister.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappRegister.d.ts","sourceRoot":"","sources":["../../src/commands/dappRegister.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAAa,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;+BAO9B,WAAW,UAAU,mBAAmB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAMpE,IAAI;;;;;oBAYC,kBAAkB;;;;;;;AAlBhD,wBAwCC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { DappPayee } from '@prosopo/captcha-contract/types-returns';
|
|
3
|
+
import { LogLevel, getLogger } from '@prosopo/common';
|
|
4
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
5
|
+
import { Tasks } from '@prosopo/provider';
|
|
6
|
+
import { get } from '@prosopo/util';
|
|
7
|
+
import { validateContract, validatePayee } from './validators.js';
|
|
8
|
+
import { wrapQuery } from '@prosopo/contract';
|
|
9
|
+
export default (pair, config, cmdArgs) => {
|
|
10
|
+
const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, 'cli.dapp_register');
|
|
11
|
+
return {
|
|
12
|
+
command: 'dapp_register',
|
|
13
|
+
describe: 'Register a Dapp',
|
|
14
|
+
builder: (yargs) => yargs
|
|
15
|
+
.option('contract', {
|
|
16
|
+
type: 'string',
|
|
17
|
+
demand: true,
|
|
18
|
+
desc: 'The AccountId of the Dapp',
|
|
19
|
+
})
|
|
20
|
+
.option('payee', {
|
|
21
|
+
type: 'string',
|
|
22
|
+
demand: true,
|
|
23
|
+
desc: 'The person who receives the fee (`Provider` or `Dapp`)',
|
|
24
|
+
}),
|
|
25
|
+
handler: async (argv) => {
|
|
26
|
+
try {
|
|
27
|
+
const env = new ProviderEnvironment(config, pair);
|
|
28
|
+
await env.isReady();
|
|
29
|
+
const tasks = new Tasks(env);
|
|
30
|
+
const dappRegisterArgs = [
|
|
31
|
+
z.string().parse(argv.contract),
|
|
32
|
+
get(DappPayee, z.string().parse(argv.payee)),
|
|
33
|
+
{
|
|
34
|
+
value: 0,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
await wrapQuery(tasks.contract.query.dappRegister, tasks.contract.query)(...dappRegisterArgs);
|
|
38
|
+
const result = await tasks.contract.tx.dappRegister(...dappRegisterArgs);
|
|
39
|
+
logger.info(JSON.stringify(result, null, 2));
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
logger.error(err);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
middlewares: [validateContract, validatePayee],
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=dappRegister.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappRegister.js","sourceRoot":"","sources":["../../src/commands/dappRegister.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAAE,QAAQ,EAAU,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAe,CAAC,IAAiB,EAAE,MAA2B,EAAE,OAA6B,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAEpF,OAAO;QACH,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACrB,KAAK;aACA,MAAM,CAAC,UAAU,EAAE;YAChB,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,2BAA2B;SAC3B,CAAC;aACV,MAAM,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,wDAAwD;SACxD,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;YACxC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBACjD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,MAAM,gBAAgB,GAAyD;oBAC3E,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/B,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C;wBACI,KAAK,EAAE,CAAC;qBACX;iBACJ,CAAA;gBACD,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAA;gBAC7F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,CAAA;gBAExE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;aAC/C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACpB;QACL,CAAC;QACD,WAAW,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;KACjD,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ArgumentsCamelCase, Argv } from 'yargs';
|
|
2
|
+
import { KeyringPair } from '@polkadot/keyring/types';
|
|
3
|
+
import { Logger } from '@prosopo/common';
|
|
4
|
+
import { ProsopoConfigOutput } from '@prosopo/types';
|
|
5
|
+
declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs?: {
|
|
6
|
+
logger?: Logger;
|
|
7
|
+
}) => {
|
|
8
|
+
command: string;
|
|
9
|
+
describe: string;
|
|
10
|
+
builder: (yargs: Argv) => Argv<{
|
|
11
|
+
contract: string;
|
|
12
|
+
} & {
|
|
13
|
+
payee: string;
|
|
14
|
+
}>;
|
|
15
|
+
handler: (argv: ArgumentsCamelCase) => Promise<void>;
|
|
16
|
+
middlewares: (((argv: ArgumentsCamelCase) => {
|
|
17
|
+
address: string;
|
|
18
|
+
}) | ((argv: ArgumentsCamelCase) => {
|
|
19
|
+
payee: import("@prosopo/captcha-contract").Payee;
|
|
20
|
+
} | undefined))[];
|
|
21
|
+
};
|
|
22
|
+
export default _default;
|
|
23
|
+
//# sourceMappingURL=dappUpdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappUpdate.d.ts","sourceRoot":"","sources":["../../src/commands/dappUpdate.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAAa,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;+BAO9B,WAAW,UAAU,mBAAmB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBAMpE,IAAI;;;;;oBAYC,kBAAkB;;;;;;;AAlBhD,wBA0CC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { DappPayee } from '@prosopo/captcha-contract/types-returns';
|
|
3
|
+
import { LogLevel, getLogger } from '@prosopo/common';
|
|
4
|
+
import { ProviderEnvironment } from '@prosopo/env';
|
|
5
|
+
import { Tasks } from '@prosopo/provider';
|
|
6
|
+
import { get } from '@prosopo/util';
|
|
7
|
+
import { validateContract, validatePayee } from './validators.js';
|
|
8
|
+
import { wrapQuery } from '@prosopo/contract';
|
|
9
|
+
export default (pair, config, cmdArgs) => {
|
|
10
|
+
const logger = cmdArgs?.logger || getLogger(LogLevel.enum.info, 'cli.dapp_update');
|
|
11
|
+
return {
|
|
12
|
+
command: 'dapp_update',
|
|
13
|
+
describe: 'Register a Dapp',
|
|
14
|
+
builder: (yargs) => yargs
|
|
15
|
+
.option('contract', {
|
|
16
|
+
type: 'string',
|
|
17
|
+
demand: true,
|
|
18
|
+
desc: 'The AccountId of the Dapp',
|
|
19
|
+
})
|
|
20
|
+
.option('payee', {
|
|
21
|
+
type: 'string',
|
|
22
|
+
demand: true,
|
|
23
|
+
desc: 'The person who receives the fee (`Provider` or `Dapp`)',
|
|
24
|
+
}),
|
|
25
|
+
handler: async (argv) => {
|
|
26
|
+
try {
|
|
27
|
+
const env = new ProviderEnvironment(config, pair);
|
|
28
|
+
await env.isReady();
|
|
29
|
+
const tasks = new Tasks(env);
|
|
30
|
+
const stakeThreshold = (await tasks.contract.query.getDappStakeThreshold({})).value.unwrap();
|
|
31
|
+
const dappRegisterArgs = [
|
|
32
|
+
z.string().parse(argv.contract),
|
|
33
|
+
get(DappPayee, z.string().parse(argv.payee)),
|
|
34
|
+
z.string().parse(argv.owner),
|
|
35
|
+
{
|
|
36
|
+
value: stakeThreshold.toString(),
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
await wrapQuery(tasks.contract.query.dappUpdate, tasks.contract.query)(...dappRegisterArgs);
|
|
40
|
+
const result = await tasks.contract.tx.dappUpdate(...dappRegisterArgs);
|
|
41
|
+
logger.info(JSON.stringify(result, null, 2));
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
logger.error(err);
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
middlewares: [validateContract, validatePayee],
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=dappUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dappUpdate.js","sourceRoot":"","sources":["../../src/commands/dappUpdate.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAAE,QAAQ,EAAU,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAe,CAAC,IAAiB,EAAE,MAA2B,EAAE,OAA6B,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAElF,OAAO;QACH,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACrB,KAAK;aACA,MAAM,CAAC,UAAU,EAAE;YAChB,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,2BAA2B;SAC3B,CAAC;aACV,MAAM,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,wDAAwD;SACxD,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;YACxC,IAAI;gBACA,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBACjD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,MAAM,cAAc,GAAG,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;gBAC5F,MAAM,gBAAgB,GAAuD;oBACzE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/B,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC5B;wBACI,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE;qBACnC;iBACJ,CAAA;gBACD,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAA;gBAC3F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,CAAA;gBAEtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;aAC/C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACpB;QACL,CAAC;QACD,WAAW,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;KACjD,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as commandProviderSetDataset } from "./providerSetDataset.js";
|
|
2
|
+
export { default as commandStoreCaptchasExternally } from "./storeCaptchasExternally.js";
|
|
3
|
+
export { default as commandVersion } from "./version.js";
|
|
4
|
+
export { default as commandSiteKeyRegister } from "./siteKeyRegister.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as commandProviderSetDataset } from "./providerSetDataset.js";
|
|
2
|
+
export { default as commandStoreCaptchasExternally } from "./storeCaptchasExternally.js";
|
|
3
|
+
export { default as commandVersion } from "./version.js";
|
|
4
|
+
export { default as commandSiteKeyRegister } from "./siteKeyRegister.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
|