@prosopo/cli 2.2.3 → 2.3.2

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/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import process from "node:process";
2
2
  import { LogLevel, getLogger } from "@prosopo/common";
3
- import { getPairAsync } from "@prosopo/contract";
4
3
  import { loadEnv } from "@prosopo/dotenv";
4
+ import { getPairAsync } from "@prosopo/keyring";
5
5
  import { isMain } from "@prosopo/util";
6
6
  import { processArgs } from "./argv.js";
7
7
  import getConfig from "./prosopo.config.js";
package/dist/cli.js.map CHANGED
@@ -1 +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,MAAM,WAAW,GAAG,MAAM,YAAY,CACrC,MAAM,CAAC,WAAW,CAAC,MAAM,EACzB,MAAM,CAAC,WAAW,CAAC,OAAO,CAC1B,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,MAAM,WAAW,CACtC,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,WAAW,EACX,MAAM,CACN,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACrC,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,WAAW,EAAE,aAAa,CAAC;iBACvE,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,WAAW,EAAE,aAAa,CAAC;iBACvE,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"}
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,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,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,MAAM,WAAW,GAAG,MAAM,YAAY,CACrC,MAAM,CAAC,WAAW,CAAC,MAAM,EACzB,MAAM,CAAC,WAAW,CAAC,OAAO,CAC1B,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,MAAM,WAAW,CACtC,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,WAAW,EACX,MAAM,CACN,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACrC,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,WAAW,EAAE,aAAa,CAAC;iBACvE,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,WAAW,EAAE,aAAa,CAAC;iBACvE,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"}
@@ -1,4 +1,3 @@
1
- export { default as commandAddBlockRules } from "./addBlockRules.js";
2
1
  export { default as commandProviderSetDataset } from "./providerSetDataset.js";
3
2
  export { default as commandStoreCaptchasExternally } from "./storeCaptchasExternally.js";
4
3
  export { default as commandVersion } from "./version.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrE,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;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
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;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,4 +1,3 @@
1
- export { default as commandAddBlockRules } from "./addBlockRules.js";
2
1
  export { default as commandProviderSetDataset } from "./providerSetDataset.js";
3
2
  export { default as commandStoreCaptchasExternally } from "./storeCaptchasExternally.js";
4
3
  export { default as commandVersion } from "./version.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrE,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;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
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;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { KeyringPair } from "@polkadot/keyring/types";
2
+ import type { BlockRule, ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { IPBlockRuleRecord, UserAccountBlockRuleRecord } from "@prosopo/types-database";
4
+ import type { Rule } from "@prosopo/user-access-policy";
5
+ import type { CommandModule } from "yargs";
6
+ declare class MigrateBlockRuleDbRecordsToUserAccessPolicyCommand implements CommandModule {
7
+ private readonly pair;
8
+ private readonly config;
9
+ command: string;
10
+ describe: string;
11
+ constructor(pair: KeyringPair, config: ProsopoConfigOutput);
12
+ handler: () => Promise<void>;
13
+ protected convertIpBlockRulesToUserAccessRules(ipBlockRules: IPBlockRuleRecord[]): Rule[];
14
+ protected convertUserAccountBlockRulesToUserAccessRules(userAccountBlockRules: UserAccountBlockRuleRecord[]): Rule[];
15
+ protected convertIpBlockRuleToUserAccessRule(ipBlockRule: IPBlockRuleRecord): Rule;
16
+ protected convertUserAccountBlockRuleToUserAccessRule(userAccountBlockRule: UserAccountBlockRuleRecord): Rule;
17
+ protected convertBlockRuleToUserAccessRule(blockRule: BlockRule): Rule;
18
+ }
19
+ export { MigrateBlockRuleDbRecordsToUserAccessPolicyCommand };
20
+ //# sourceMappingURL=migrateBlockRulesToUserAccessRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateBlockRulesToUserAccessRules.d.ts","sourceRoot":"","sources":["../../src/commands/migrateBlockRulesToUserAccessRules.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,cAAM,kDACL,YAAW,aAAa;IAMvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALjB,OAAO,SAA8C;IACrD,QAAQ,SAA8C;gBAG3C,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB;IAGtC,OAAO,QAAa,OAAO,CAAC,IAAI,CAAC,CAsBtC;IAEF,SAAS,CAAC,oCAAoC,CAC7C,YAAY,EAAE,iBAAiB,EAAE,GAC/B,IAAI,EAAE;IAMT,SAAS,CAAC,6CAA6C,CACtD,qBAAqB,EAAE,0BAA0B,EAAE,GACjD,IAAI,EAAE;IAMT,SAAS,CAAC,kCAAkC,CAC3C,WAAW,EAAE,iBAAiB,GAC5B,IAAI;IAgBP,SAAS,CAAC,2CAA2C,CACpD,oBAAoB,EAAE,0BAA0B,GAC9C,IAAI;IASP,SAAS,CAAC,gCAAgC,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAiBtE;AAED,OAAO,EAAE,kDAAkD,EAAE,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ import { Address4 } from "ip-address";
3
+ class MigrateBlockRuleDbRecordsToUserAccessPolicyCommand {
4
+ constructor(pair, config) {
5
+ this.pair = pair;
6
+ this.config = config;
7
+ this.command = "migrate-block-rules-to-user-access-rules";
8
+ this.describe = "Migrate block rules to user access rules";
9
+ this.handler = async () => {
10
+ const env = new ProviderEnvironment(this.config, this.pair);
11
+ await env.isReady();
12
+ const db = env.getDb();
13
+ const ipBlockRules = await db.getAllIpBlockRules();
14
+ const userAccountBlockRules = await db.getAllUserAccountBlockRules();
15
+ const userAccessRulesFromIpBlockRules = this.convertIpBlockRulesToUserAccessRules(ipBlockRules);
16
+ const userAccessRulesFromUserAccountBlockRules = this.convertUserAccountBlockRulesToUserAccessRules(userAccountBlockRules);
17
+ const newUserAccessRules = [
18
+ ...userAccessRulesFromIpBlockRules,
19
+ ...userAccessRulesFromUserAccountBlockRules,
20
+ ];
21
+ const userAccessRulesStorage = db.getUserAccessRulesStorage();
22
+ await userAccessRulesStorage.insertMany(newUserAccessRules);
23
+ };
24
+ }
25
+ convertIpBlockRulesToUserAccessRules(ipBlockRules) {
26
+ return ipBlockRules.map((ipBlockRule) => this.convertIpBlockRuleToUserAccessRule(ipBlockRule));
27
+ }
28
+ convertUserAccountBlockRulesToUserAccessRules(userAccountBlockRules) {
29
+ return userAccountBlockRules.map((userAccountBlockRule) => this.convertUserAccountBlockRuleToUserAccessRule(userAccountBlockRule));
30
+ }
31
+ convertIpBlockRuleToUserAccessRule(ipBlockRule) {
32
+ const userAccessRule = this.convertBlockRuleToUserAccessRule(ipBlockRule);
33
+ const ipAsBigInt = BigInt(ipBlockRule.ip);
34
+ const ipAddress = Address4.fromBigInt(ipAsBigInt);
35
+ userAccessRule.userIp = {
36
+ v4: {
37
+ asNumeric: ipAsBigInt,
38
+ asString: ipAddress.address.toString(),
39
+ },
40
+ };
41
+ return userAccessRule;
42
+ }
43
+ convertUserAccountBlockRuleToUserAccessRule(userAccountBlockRule) {
44
+ const userAccessRule = this.convertBlockRuleToUserAccessRule(userAccountBlockRule);
45
+ userAccessRule.userId = userAccountBlockRule.userAccount;
46
+ return userAccessRule;
47
+ }
48
+ convertBlockRuleToUserAccessRule(blockRule) {
49
+ const userAccessRule = {
50
+ isUserBlocked: blockRule.hardBlock,
51
+ clientId: blockRule.dappAccount,
52
+ };
53
+ if (undefined !== blockRule.captchaConfig) {
54
+ userAccessRule.config = {
55
+ imageCaptcha: {
56
+ solvedCount: blockRule.captchaConfig.solved.count,
57
+ unsolvedCount: blockRule.captchaConfig.unsolved.count,
58
+ },
59
+ };
60
+ }
61
+ return userAccessRule;
62
+ }
63
+ }
64
+ export { MigrateBlockRuleDbRecordsToUserAccessPolicyCommand };
65
+ //# sourceMappingURL=migrateBlockRulesToUserAccessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateBlockRulesToUserAccessRules.js","sourceRoot":"","sources":["../../src/commands/migrateBlockRulesToUserAccessRules.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ declare const _default: (pair: KeyringPair, config: ProsopoConfigOutput, cmdArgs
6
6
  }) => {
7
7
  command: string;
8
8
  describe: string;
9
- handler: () => Promise<void>;
9
+ handler: () => void;
10
10
  };
11
11
  export default _default;
12
12
  //# sourceMappingURL=version.d.ts.map
@@ -5,7 +5,7 @@ export default (pair, config, cmdArgs) => {
5
5
  return {
6
6
  command: "version",
7
7
  describe: "Return the version of the software",
8
- handler: async () => {
8
+ handler: () => {
9
9
  logger.info(`Version: ${JSON.stringify(version)}`);
10
10
  },
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAe,CACd,IAAiB,EACjB,MAA2B,EAC3B,OAA6B,EAC5B,EAAE;IACH,MAAM,MAAM,GACX,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEjE,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,oCAAoC;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAe,CACd,IAAiB,EACjB,MAA2B,EAC3B,OAA6B,EAC5B,EAAE;IACH,MAAM,MAAM,GACX,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEjE,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,oCAAoC;QAC9C,OAAO,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"process.env.d.ts","sourceRoot":"","sources":["../src/process.env.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,WAAW,IAAI,WAAW,CAIzC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO3D;AAED,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5D;AAED,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY1D;AAED,wBAAgB,KAAK,IAAI,MAAM,CAK9B"}
1
+ {"version":3,"file":"process.env.d.ts","sourceRoot":"","sources":["../src/process.env.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,WAAW,IAAI,WAAW,CAIzC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO3D;AAED,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO5D;AAED,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY1D;AAED,wBAAgB,KAAK,IAAI,MAAM,CAK9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"process.env.js","sourceRoot":"","sources":["../src/process.env.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,UAAU,aAAa;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,WAAW;IAC1B,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,iBAAiC,IAAK,SAAyB,CAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAY;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,CACN,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,CAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CAAC,kCAAkC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"process.env.js","sourceRoot":"","sources":["../src/process.env.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,UAAU,aAAa;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,WAAW;IAC1B,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,iBAAiC,IAAK,SAAyB,CAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAY;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,GAAG,UAAU,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,CACN,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,CAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CAAC,kCAAkC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA6DnD,wBAAsB,KAAK,CAC1B,GAAG,CAAC,EAAE,mBAAmB,EACzB,KAAK,CAAC,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,mBAqCb;AAED,wBAAsB,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,OAAO,mBAGxE"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAuFnD,wBAAsB,KAAK,CAC1B,GAAG,CAAC,EAAE,mBAAmB,EACzB,KAAK,CAAC,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,mBAqCb;AAED,wBAAsB,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,OAAO,mBAGxE"}
package/dist/start.js CHANGED
@@ -1,9 +1,11 @@
1
- import { getPairAsync } from "@prosopo/contract";
1
+ import { apiExpressRouterFactory, createApiExpressDefaultEndpointAdapter, } from "@prosopo/api-express-router";
2
2
  import { loadEnv } from "@prosopo/dotenv";
3
3
  import { ProviderEnvironment } from "@prosopo/env";
4
+ import { getPairAsync } from "@prosopo/keyring";
4
5
  import { i18nMiddleware } from "@prosopo/locale";
5
- import { domainMiddleware, getClientList, headerCheckMiddleware, prosopoAdminRouter, prosopoRouter, prosopoVerifyRouter, publicRouter, storeCaptchasExternally, } from "@prosopo/provider";
6
+ import { api, domainMiddleware, getClientList, headerCheckMiddleware, prosopoRouter, prosopoVerifyRouter, publicRouter, storeCaptchasExternally, } from "@prosopo/provider";
6
7
  import { authMiddleware, blockMiddleware } from "@prosopo/provider";
8
+ import { createApiRuleRoutesProvider, getExpressApiRuleRateLimits, } from "@prosopo/user-access-policy";
7
9
  import cors from "cors";
8
10
  import express from "express";
9
11
  import rateLimit from "express-rate-limit";
@@ -13,6 +15,9 @@ function startApi(env, admin = false, port) {
13
15
  env.logger.info("Starting Prosopo API");
14
16
  const apiApp = express();
15
17
  const apiPort = port || env.config.server.port;
18
+ const apiEndpointAdapter = createApiExpressDefaultEndpointAdapter(env.logger);
19
+ const apiRuleRoutesProvider = createApiRuleRoutesProvider(env.getDb().getUserAccessRulesStorage());
20
+ const apiAdminRoutesProvider = api.admin.createApiAdminRoutesProvider(env);
16
21
  apiApp.set("trust proxy", env.config.proxyCount);
17
22
  apiApp.use(cors());
18
23
  apiApp.use(express.json({ limit: "50mb" }));
@@ -24,8 +29,10 @@ function startApi(env, admin = false, port) {
24
29
  apiApp.use(prosopoRouter(env));
25
30
  apiApp.use(publicRouter(env));
26
31
  apiApp.use("/v1/prosopo/provider/admin", authMiddleware(env));
27
- apiApp.use(prosopoAdminRouter(env));
28
- const rateLimits = env.config.rateLimits;
32
+ apiApp.use(apiExpressRouterFactory.createRouter(apiRuleRoutesProvider, apiEndpointAdapter));
33
+ apiApp.use(apiExpressRouterFactory.createRouter(apiAdminRoutesProvider, createApiExpressDefaultEndpointAdapter(env.logger, 400)));
34
+ const configRateLimits = env.config.rateLimits;
35
+ const rateLimits = { ...configRateLimits, ...getExpressApiRuleRateLimits() };
29
36
  for (const [path, limit] of Object.entries(rateLimits)) {
30
37
  const enumPath = path;
31
38
  apiApp.use(enumPath, rateLimit(limit));
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/cli",
3
- "version": "2.2.3",
3
+ "version": "2.3.2",
4
4
  "description": "CLI for Prosopo Provider",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -29,25 +29,29 @@
29
29
  "@polkadot/keyring": "12.6.2",
30
30
  "@polkadot/types-codec": "10.13.1",
31
31
  "@polkadot/util-crypto": "12.6.2",
32
- "@prosopo/api": "2.2.3",
33
- "@prosopo/common": "2.2.3",
34
- "@prosopo/config": "2.2.3",
35
- "@prosopo/contract": "2.2.3",
36
- "@prosopo/dotenv": "2.2.3",
37
- "@prosopo/env": "2.2.3",
38
- "@prosopo/locale": "2.2.3",
39
- "@prosopo/provider": "2.2.3",
40
- "@prosopo/types": "2.2.3",
41
- "@prosopo/util": "2.2.3",
32
+ "@prosopo/api": "2.3.2",
33
+ "@prosopo/api-express-router": "2.3.2",
34
+ "@prosopo/common": "2.3.2",
35
+ "@prosopo/config": "2.3.2",
36
+ "@prosopo/dotenv": "2.3.2",
37
+ "@prosopo/env": "2.3.2",
38
+ "@prosopo/keyring": "2.3.2",
39
+ "@prosopo/locale": "2.3.2",
40
+ "@prosopo/provider": "2.3.2",
41
+ "@prosopo/types": "2.3.2",
42
+ "@prosopo/user-access-policy": "2.3.2",
43
+ "@prosopo/util": "2.3.2",
42
44
  "cors": "2.8.5",
43
45
  "cron-parser": "4.9.0",
44
46
  "dotenv": "16.4.5",
45
47
  "express-rate-limit": "7.4.0",
48
+ "has-proto": "1.2.0",
49
+ "ip-address": "10.0.1",
46
50
  "yargs": "17.7.2",
47
51
  "zod": "3.23.8"
48
52
  },
49
53
  "devDependencies": {
50
- "@prosopo/config": "2.2.3",
54
+ "@prosopo/config": "2.3.2",
51
55
  "@types/cors": "2.8.17",
52
56
  "@types/yargs": "17.0.33",
53
57
  "@vitest/coverage-v8": "2.1.1",
@@ -1,29 +0,0 @@
1
- import type { KeyringPair } from "@polkadot/keyring/types";
2
- import { type Logger } from "@prosopo/common";
3
- import type { ProsopoConfigOutput } from "@prosopo/types";
4
- import type { ArgumentsCamelCase, Argv } from "yargs";
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
- ips: (string | number)[] | undefined;
12
- } & {
13
- users: (string | number)[] | undefined;
14
- } & {
15
- dapp: string | undefined;
16
- } & {
17
- global: string | true;
18
- } & {
19
- hardBlock: string | false;
20
- } & {
21
- solved: number | undefined;
22
- } & {
23
- unsolved: number | undefined;
24
- }>;
25
- handler: (argv: ArgumentsCamelCase) => Promise<void>;
26
- middlewares: never[];
27
- };
28
- export default _default;
29
- //# sourceMappingURL=addBlockRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addBlockRules.d.ts","sourceRoot":"","sources":["../../src/commands/addBlockRules.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAY,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AAGnE,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;+BAK/C,WAAW,UACT,mBAAmB,YACjB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;qBASX,IAAI;;;;;;;;;;;;;;;oBAwCC,kBAAkB;;;AApD1C,wBA8FE"}
@@ -1,79 +0,0 @@
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 ||
6
- getLogger(LogLevel.enum.info, "cli.provider_set_data_set");
7
- return {
8
- command: "add_block_rules",
9
- describe: "Add a rule for blocking requests to the database",
10
- builder: (yargs) => yargs
11
- .option("ips", {
12
- type: "array",
13
- demandOption: false,
14
- desc: "The ips to be blocked",
15
- })
16
- .option("users", {
17
- type: "array",
18
- demandOption: false,
19
- desc: "The users to be blocked",
20
- })
21
- .option("dapp", {
22
- type: "string",
23
- demandOption: false,
24
- desc: "The users to be blocked",
25
- })
26
- .option("global", {
27
- type: "string",
28
- demandOption: true,
29
- default: true,
30
- desc: "Whether the ip is to be blocked globally or not",
31
- })
32
- .option("hardBlock", {
33
- type: "string",
34
- demandOption: true,
35
- default: false,
36
- desc: "Hardblock stops requests, softblock informs frictionless",
37
- })
38
- .option("solved", {
39
- type: "number",
40
- demandOption: false,
41
- desc: "The number of solved captchas",
42
- })
43
- .option("unsolved", {
44
- type: "number",
45
- demandOption: false,
46
- desc: "The number of unsolved captchas",
47
- }),
48
- handler: async (argv) => {
49
- try {
50
- const env = new ProviderEnvironment(config, pair);
51
- await env.isReady();
52
- const tasks = new Tasks(env);
53
- let captchaConfig;
54
- if (argv.solved) {
55
- captchaConfig = {
56
- solved: {
57
- count: argv.solved,
58
- },
59
- unsolved: {
60
- count: argv.unsolved || 0,
61
- },
62
- };
63
- }
64
- if (argv.ips) {
65
- await tasks.clientTaskManager.addIPBlockRules(argv.ips, argv.global, argv.hardBlock, argv.dapp, captchaConfig);
66
- }
67
- if (argv.users) {
68
- await tasks.clientTaskManager.addUserBlockRules(argv.users, argv.hardBlock, argv.global, argv.dapp, captchaConfig);
69
- }
70
- logger.info("IP Block rules added");
71
- }
72
- catch (err) {
73
- logger.error(err);
74
- }
75
- },
76
- middlewares: [],
77
- };
78
- };
79
- //# sourceMappingURL=addBlockRules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addBlockRules.js","sourceRoot":"","sources":["../../src/commands/addBlockRules.ts"],"names":[],"mappings":"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"}