@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.
Files changed (135) hide show
  1. package/dist/RateLimiter.d.ts +63 -0
  2. package/dist/RateLimiter.d.ts.map +1 -0
  3. package/dist/RateLimiter.js +66 -0
  4. package/dist/RateLimiter.js.map +1 -0
  5. package/dist/argv.d.ts +22 -0
  6. package/dist/argv.d.ts.map +1 -0
  7. package/dist/argv.js +21 -0
  8. package/dist/argv.js.map +1 -0
  9. package/dist/cjs/RateLimiter.cjs +68 -0
  10. package/dist/cjs/argv.cjs +19 -0
  11. package/dist/cjs/cli.cjs +53 -0
  12. package/dist/cjs/commands/index.cjs +10 -0
  13. package/dist/cjs/commands/providerSetDataset.cjs +51 -0
  14. package/dist/cjs/commands/siteKeyRegister.cjs +31 -0
  15. package/dist/cjs/commands/storeCaptchasExternally.cjs +25 -0
  16. package/dist/cjs/commands/validators.cjs +41 -0
  17. package/dist/cjs/commands/version.cjs +14 -0
  18. package/dist/cjs/files.cjs +39 -0
  19. package/dist/cjs/index.cjs +21 -0
  20. package/dist/cjs/process.env.cjs +45 -0
  21. package/dist/cjs/prosopo.config.cjs +68 -0
  22. package/dist/cjs/reloader.cjs +59 -0
  23. package/dist/cjs/start.cjs +69 -0
  24. package/dist/cli.d.ts +2 -0
  25. package/dist/cli.d.ts.map +1 -0
  26. package/dist/cli.js +56 -0
  27. package/dist/cli.js.map +1 -0
  28. package/dist/commands/batchCommit.d.ts +21 -0
  29. package/dist/commands/batchCommit.d.ts.map +1 -0
  30. package/dist/commands/batchCommit.js +37 -0
  31. package/dist/commands/batchCommit.js.map +1 -0
  32. package/dist/commands/dappAccounts.d.ts +15 -0
  33. package/dist/commands/dappAccounts.d.ts.map +1 -0
  34. package/dist/commands/dappAccounts.js +25 -0
  35. package/dist/commands/dappAccounts.js.map +1 -0
  36. package/dist/commands/dappDetails.d.ts +19 -0
  37. package/dist/commands/dappDetails.d.ts.map +1 -0
  38. package/dist/commands/dappDetails.js +32 -0
  39. package/dist/commands/dappDetails.js.map +1 -0
  40. package/dist/commands/dappRegister.d.ts +23 -0
  41. package/dist/commands/dappRegister.d.ts.map +1 -0
  42. package/dist/commands/dappRegister.js +48 -0
  43. package/dist/commands/dappRegister.js.map +1 -0
  44. package/dist/commands/dappUpdate.d.ts +23 -0
  45. package/dist/commands/dappUpdate.d.ts.map +1 -0
  46. package/dist/commands/dappUpdate.js +50 -0
  47. package/dist/commands/dappUpdate.js.map +1 -0
  48. package/dist/commands/index.d.ts +5 -0
  49. package/dist/commands/index.d.ts.map +1 -0
  50. package/dist/commands/index.js +5 -0
  51. package/dist/commands/index.js.map +1 -0
  52. package/dist/commands/providerAccounts.d.ts +9 -0
  53. package/dist/commands/providerAccounts.d.ts.map +1 -0
  54. package/dist/commands/providerAccounts.js +24 -0
  55. package/dist/commands/providerAccounts.js.map +1 -0
  56. package/dist/commands/providerDataset.d.ts +18 -0
  57. package/dist/commands/providerDataset.d.ts.map +1 -0
  58. package/dist/commands/providerDataset.js +46 -0
  59. package/dist/commands/providerDataset.js.map +1 -0
  60. package/dist/commands/providerDeregister.d.ts +19 -0
  61. package/dist/commands/providerDeregister.d.ts.map +1 -0
  62. package/dist/commands/providerDeregister.js +30 -0
  63. package/dist/commands/providerDeregister.js.map +1 -0
  64. package/dist/commands/providerDetails.d.ts +19 -0
  65. package/dist/commands/providerDetails.d.ts.map +1 -0
  66. package/dist/commands/providerDetails.js +33 -0
  67. package/dist/commands/providerDetails.js.map +1 -0
  68. package/dist/commands/providerRegister.d.ts +9 -0
  69. package/dist/commands/providerRegister.d.ts.map +1 -0
  70. package/dist/commands/providerRegister.js +60 -0
  71. package/dist/commands/providerRegister.js.map +1 -0
  72. package/dist/commands/providerSetDataset.d.ts +17 -0
  73. package/dist/commands/providerSetDataset.d.ts.map +1 -0
  74. package/dist/commands/providerSetDataset.js +35 -0
  75. package/dist/commands/providerSetDataset.js.map +1 -0
  76. package/dist/commands/providerUpdate.d.ts +27 -0
  77. package/dist/commands/providerUpdate.d.ts.map +1 -0
  78. package/dist/commands/providerUpdate.js +63 -0
  79. package/dist/commands/providerUpdate.js.map +1 -0
  80. package/dist/commands/siteKeyRegister.d.ts +19 -0
  81. package/dist/commands/siteKeyRegister.d.ts.map +1 -0
  82. package/dist/commands/siteKeyRegister.js +31 -0
  83. package/dist/commands/siteKeyRegister.js.map +1 -0
  84. package/dist/commands/storeCaptchasExternally.d.ts +13 -0
  85. package/dist/commands/storeCaptchasExternally.d.ts.map +1 -0
  86. package/dist/commands/storeCaptchasExternally.js +27 -0
  87. package/dist/commands/storeCaptchasExternally.js.map +1 -0
  88. package/dist/commands/validators.d.ts +18 -0
  89. package/dist/commands/validators.d.ts.map +1 -0
  90. package/dist/commands/validators.js +36 -0
  91. package/dist/commands/validators.js.map +1 -0
  92. package/dist/commands/version.d.ts +12 -0
  93. package/dist/commands/version.d.ts.map +1 -0
  94. package/dist/commands/version.js +13 -0
  95. package/dist/commands/version.js.map +1 -0
  96. package/dist/env.d.ts +4 -0
  97. package/dist/env.d.ts.map +1 -0
  98. package/dist/env.js +25 -0
  99. package/dist/env.js.map +1 -0
  100. package/dist/files.d.ts +4 -0
  101. package/dist/files.d.ts.map +1 -0
  102. package/dist/files.js +37 -0
  103. package/dist/files.js.map +1 -0
  104. package/dist/index.d.ts +7 -0
  105. package/dist/index.d.ts.map +1 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/process.env.d.ts +8 -0
  108. package/dist/process.env.d.ts.map +1 -0
  109. package/dist/process.env.js +44 -0
  110. package/dist/process.env.js.map +1 -0
  111. package/dist/prosopo.config.d.ts +3 -0
  112. package/dist/prosopo.config.d.ts.map +1 -0
  113. package/dist/prosopo.config.js +73 -0
  114. package/dist/prosopo.config.js.map +1 -0
  115. package/dist/reloader.d.ts +21 -0
  116. package/dist/reloader.d.ts.map +1 -0
  117. package/dist/reloader.js +58 -0
  118. package/dist/reloader.js.map +1 -0
  119. package/dist/start.d.ts +5 -0
  120. package/dist/start.d.ts.map +1 -0
  121. package/dist/start.js +65 -0
  122. package/dist/start.js.map +1 -0
  123. package/dist/tests/bundle/bundle.test.d.ts +2 -0
  124. package/dist/tests/bundle/bundle.test.d.ts.map +1 -0
  125. package/dist/tests/bundle/bundle.test.js +14 -0
  126. package/dist/tests/bundle/bundle.test.js.map +1 -0
  127. package/dist/tests/bundle/bundle.unit.test.d.ts +2 -0
  128. package/dist/tests/bundle/bundle.unit.test.d.ts.map +1 -0
  129. package/dist/tests/bundle/bundle.unit.test.js +14 -0
  130. package/dist/tests/bundle/bundle.unit.test.js.map +1 -0
  131. package/dist/tests/reloader.test.d.ts +2 -0
  132. package/dist/tests/reloader.test.d.ts.map +1 -0
  133. package/dist/tests/reloader.test.js +73 -0
  134. package/dist/tests/reloader.test.js.map +1 -0
  135. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -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
@@ -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"}