@prosopo/server 2.0.1 → 2.0.3

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.
@@ -4,7 +4,6 @@ const types = require("@prosopo/types");
4
4
  const getServerConfig = () => types.ProsopoServerConfigSchema.parse({
5
5
  defaultEnvironment: process.env.PROSOPO_DEFAULT_ENVIRONMENT,
6
6
  // enviromental variables
7
- defaultNetwork: process.env.PROSOPO_DEFAULT_NETWORK,
8
7
  serverUrl: getServerUrl(),
9
8
  dappName: process.env.PROSOPO_DAPP_NAME || "client-example-server",
10
9
  account: {
@@ -5,7 +5,6 @@ const config = require("./config.cjs");
5
5
  const contract = require("@prosopo/contract");
6
6
  const PublicProsopoServer = async (config2) => {
7
7
  const pair = await contract.getPairAsync(
8
- config2.networks[config2.defaultNetwork],
9
8
  void 0,
10
9
  config2.account.address
11
10
  );
@@ -1,58 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const keyring = require("@polkadot/keyring");
4
- const util$1 = require("@polkadot/util");
4
+ const util = require("@polkadot/util");
5
5
  const api = require("@prosopo/api");
6
6
  const common = require("@prosopo/common");
7
7
  const types = require("@prosopo/types");
8
- const util = require("@prosopo/util");
9
8
  class ProsopoServer {
10
9
  constructor(config, pair) {
11
10
  this.config = config;
12
11
  this.pair = pair;
13
12
  this.defaultEnvironment = this.config.defaultEnvironment;
14
- const networkName = types.NetworkNamesSchema.parse(this.config.defaultNetwork);
15
- this.network = util.get(this.config.networks, networkName);
16
- this.prosopoContractAddress = this.network.contract.address;
17
- this.dappContractAddress = this.config.account.address;
18
- this.contractName = this.network.contract.name;
13
+ this.dappAccount = this.config.account.address;
19
14
  this.logger = common.getLogger(
20
15
  this.config.logLevel,
21
16
  "@prosopo/server"
22
17
  );
23
18
  this.keyring = new keyring.Keyring({
24
19
  type: "sr25519"
25
- // TODO get this from the chain
26
20
  });
27
21
  }
28
22
  getProviderApi(providerUrl) {
29
- return new api.ProviderApi(
30
- this.network,
31
- providerUrl,
32
- this.dappContractAddress || ""
33
- );
23
+ return new api.ProviderApi(providerUrl, this.dappAccount || "");
34
24
  }
35
25
  /**
36
26
  * Verify the user with the provider URL passed in. If a challenge is provided, we use the challenge to verify the
37
27
  * user. If not, we use the user, dapp, and optionally the commitmentID, to verify the user.
38
28
  * @param token
39
- * @param blockNumber
40
29
  * @param timeouts
41
30
  * @param providerUrl
42
31
  * @param timestamp
43
32
  * @param challenge
44
33
  */
45
- async verifyProvider(token, blockNumber, timeouts, providerUrl, timestamp, challenge) {
34
+ async verifyProvider(token, timeouts, providerUrl, timestamp, challenge) {
46
35
  this.logger.info("Verifying with provider.");
47
- const blockNumberString = blockNumber.toString();
48
- const dappUserSignature = this.pair?.sign(blockNumberString);
36
+ const dappUserSignature = this.pair?.sign(timestamp.toString());
49
37
  if (!dappUserSignature) {
50
- throw new common.ProsopoContractError("CAPTCHA.INVALID_BLOCK_NO", {
51
- context: { error: "Block number not found" }
38
+ throw new common.ProsopoContractError("CAPTCHA.INVALID_TIMESTAMP", {
39
+ context: { error: "Timestamp not found" }
52
40
  });
53
41
  }
54
- const signatureHex = util$1.u8aToHex(dappUserSignature);
55
- const providerApi = await this.getProviderApi(providerUrl);
42
+ const signatureHex = util.u8aToHex(dappUserSignature);
43
+ const providerApi = this.getProviderApi(providerUrl);
56
44
  if (challenge) {
57
45
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
58
46
  const recent2 = timestamp ? Date.now() - timestamp < powTimeout : false;
@@ -86,16 +74,15 @@ class ProsopoServer {
86
74
  * @param token
87
75
  */
88
76
  async isVerified(token) {
89
- if (!util$1.isHex(token)) {
77
+ if (!util.isHex(token)) {
90
78
  this.logger.error("Invalid token - not hex", token);
91
79
  return false;
92
80
  }
93
81
  const payload = types.decodeProcaptchaOutput(token);
94
- const { providerUrl, blockNumber, challenge, timestamp } = types.ProcaptchaOutputSchema.parse(payload);
82
+ const { providerUrl, challenge, timestamp } = types.ProcaptchaOutputSchema.parse(payload);
95
83
  if (providerUrl) {
96
84
  return await this.verifyProvider(
97
85
  token,
98
- blockNumber,
99
86
  this.config.timeouts,
100
87
  providerUrl,
101
88
  Number(timestamp),
package/dist/config.d.ts CHANGED
@@ -17,21 +17,11 @@ export declare const getServerConfig: () => {
17
17
  };
18
18
  logLevel: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "log";
19
19
  defaultEnvironment: "development" | "staging" | "production";
20
- defaultNetwork: "development" | "rococo" | "shiden" | "astar";
21
20
  account: {
22
21
  secret?: string | undefined;
23
22
  address?: string | undefined;
24
23
  password?: string | undefined;
25
24
  };
26
- networks: Record<"development" | "rococo" | "shiden" | "astar", {
27
- contract: {
28
- name: string;
29
- address: string;
30
- };
31
- endpoint: string[];
32
- pairType: "sr25519" | "ed25519" | "ecdsa" | "ethereum";
33
- ss58Format: number;
34
- }>;
35
25
  web2: boolean;
36
26
  solutionThreshold: number;
37
27
  dappName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWzB,CAAC;AAEJ,eAAO,MAAM,YAAY,QAAO,MAQ/B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUzB,CAAC;AAEJ,eAAO,MAAM,YAAY,QAAO,MAQ/B,CAAC"}
package/dist/config.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { ProsopoServerConfigSchema } from "@prosopo/types";
2
2
  export const getServerConfig = () => ProsopoServerConfigSchema.parse({
3
3
  defaultEnvironment: process.env.PROSOPO_DEFAULT_ENVIRONMENT,
4
- defaultNetwork: process.env.PROSOPO_DEFAULT_NETWORK,
5
4
  serverUrl: getServerUrl(),
6
5
  dappName: process.env.PROSOPO_DAPP_NAME || "client-example-server",
7
6
  account: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CACnC,yBAAyB,CAAC,KAAK,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;IAC3D,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;IACnD,SAAS,EAAE,YAAY,EAAE;IACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uBAAuB;IAClE,OAAO,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;KAClD;CACD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;SACtC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;KACtF;IACD,OAAO,uBAAuB,CAAC;AAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CACnC,yBAAyB,CAAC,KAAK,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;IAC3D,SAAS,EAAE,YAAY,EAAE;IACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uBAAuB;IAClE,OAAO,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;KAClD;CACD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;SACtC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;KACtF;IACD,OAAO,uBAAuB,CAAC;AAChC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAChE,eAAO,MAAM,mBAAmB,WACvB,yBAAyB,2BASjC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAChE,eAAO,MAAM,mBAAmB,WACvB,yBAAyB,2BAQjC,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export { ProsopoServer } from "./server.js";
3
3
  export { getServerConfig, getServerUrl } from "./config.js";
4
4
  import { getPairAsync } from "@prosopo/contract";
5
5
  export const PublicProsopoServer = async (config) => {
6
- const pair = await getPairAsync(config.networks[config.defaultNetwork], undefined, config.account.address);
6
+ const pair = await getPairAsync(undefined, config.account.address);
7
7
  return new ProsopoServer(config, pair);
8
8
  };
9
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,MAAiC,EAChC,EAAE;IAEH,MAAM,IAAI,GAAG,MAAM,YAAY,CAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EACtC,SAAS,EACT,MAAM,CAAC,OAAO,CAAC,OAAO,CACtB,CAAC;IACF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,MAAiC,EAChC,EAAE;IAEH,MAAM,IAAI,GAAG,MAAM,YAAY,CAC9B,SAAS,EACT,MAAM,CAAC,OAAO,CAAC,OAAO,CACtB,CAAC;IACF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC"}
package/dist/server.d.ts CHANGED
@@ -2,20 +2,17 @@ import { Keyring } from "@polkadot/keyring";
2
2
  import type { KeyringPair } from "@polkadot/keyring/types";
3
3
  import { ProviderApi } from "@prosopo/api";
4
4
  import { type Logger } from "@prosopo/common";
5
- import { type CaptchaTimeoutOutput, type NetworkConfig, type ProcaptchaToken, type ProsopoServerConfigOutput } from "@prosopo/types";
5
+ import { type CaptchaTimeoutOutput, type ProcaptchaToken, type ProsopoServerConfigOutput } from "@prosopo/types";
6
6
  export declare class ProsopoServer {
7
7
  config: ProsopoServerConfigOutput;
8
- prosopoContractAddress: string;
9
- dappContractAddress: string | undefined;
8
+ dappAccount: string | undefined;
10
9
  defaultEnvironment: string;
11
- contractName: string;
12
10
  logger: Logger;
13
11
  keyring: Keyring;
14
12
  pair: KeyringPair | undefined;
15
- network: NetworkConfig;
16
13
  constructor(config: ProsopoServerConfigOutput, pair?: KeyringPair);
17
14
  getProviderApi(providerUrl: string): ProviderApi;
18
- verifyProvider(token: string, blockNumber: number, timeouts: CaptchaTimeoutOutput, providerUrl: string, timestamp: number, challenge?: string): Promise<boolean>;
15
+ verifyProvider(token: string, timeouts: CaptchaTimeoutOutput, providerUrl: string, timestamp: number, challenge?: string): Promise<boolean>;
19
16
  isVerified(token: ProcaptchaToken): Promise<boolean>;
20
17
  }
21
18
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEL,KAAK,MAAM,EAKZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAGlB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC/B,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,aAAa;IACxB,MAAM,EAAE,yBAAyB,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,aAAa,CAAC;gBAEX,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAkBjE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAkBnC,cAAc,CACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM;IA8CP,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CA0BlE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEL,KAAK,MAAM,EAIZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC/B,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,aAAa;IACxB,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;gBAElB,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAcjE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAanC,cAAc,CACzB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM;IA6CP,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CAyBlE"}
package/dist/server.js CHANGED
@@ -2,38 +2,32 @@ import { Keyring } from "@polkadot/keyring";
2
2
  import { isHex, u8aToHex } from "@polkadot/util";
3
3
  import { ProviderApi } from "@prosopo/api";
4
4
  import { ProsopoApiError, ProsopoContractError, getLogger, } from "@prosopo/common";
5
- import { NetworkNamesSchema, ProcaptchaOutputSchema, } from "@prosopo/types";
5
+ import { ProcaptchaOutputSchema, } from "@prosopo/types";
6
6
  import { decodeProcaptchaOutput } from "@prosopo/types";
7
- import { get } from "@prosopo/util";
8
7
  export class ProsopoServer {
9
8
  constructor(config, pair) {
10
9
  this.config = config;
11
10
  this.pair = pair;
12
11
  this.defaultEnvironment = this.config.defaultEnvironment;
13
- const networkName = NetworkNamesSchema.parse(this.config.defaultNetwork);
14
- this.network = get(this.config.networks, networkName);
15
- this.prosopoContractAddress = this.network.contract.address;
16
- this.dappContractAddress = this.config.account.address;
17
- this.contractName = this.network.contract.name;
12
+ this.dappAccount = this.config.account.address;
18
13
  this.logger = getLogger(this.config.logLevel, "@prosopo/server");
19
14
  this.keyring = new Keyring({
20
15
  type: "sr25519",
21
16
  });
22
17
  }
23
18
  getProviderApi(providerUrl) {
24
- return new ProviderApi(this.network, providerUrl, this.dappContractAddress || "");
19
+ return new ProviderApi(providerUrl, this.dappAccount || "");
25
20
  }
26
- async verifyProvider(token, blockNumber, timeouts, providerUrl, timestamp, challenge) {
21
+ async verifyProvider(token, timeouts, providerUrl, timestamp, challenge) {
27
22
  this.logger.info("Verifying with provider.");
28
- const blockNumberString = blockNumber.toString();
29
- const dappUserSignature = this.pair?.sign(blockNumberString);
23
+ const dappUserSignature = this.pair?.sign(timestamp.toString());
30
24
  if (!dappUserSignature) {
31
- throw new ProsopoContractError("CAPTCHA.INVALID_BLOCK_NO", {
32
- context: { error: "Block number not found" },
25
+ throw new ProsopoContractError("CAPTCHA.INVALID_TIMESTAMP", {
26
+ context: { error: "Timestamp not found" },
33
27
  });
34
28
  }
35
29
  const signatureHex = u8aToHex(dappUserSignature);
36
- const providerApi = await this.getProviderApi(providerUrl);
30
+ const providerApi = this.getProviderApi(providerUrl);
37
31
  if (challenge) {
38
32
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
39
33
  const recent = timestamp ? Date.now() - timestamp < powTimeout : false;
@@ -59,9 +53,9 @@ export class ProsopoServer {
59
53
  return false;
60
54
  }
61
55
  const payload = decodeProcaptchaOutput(token);
62
- const { providerUrl, blockNumber, challenge, timestamp } = ProcaptchaOutputSchema.parse(payload);
56
+ const { providerUrl, challenge, timestamp } = ProcaptchaOutputSchema.parse(payload);
63
57
  if (providerUrl) {
64
- return await this.verifyProvider(token, blockNumber, this.config.timeouts, providerUrl, Number(timestamp), challenge);
58
+ return await this.verifyProvider(token, this.config.timeouts, providerUrl, Number(timestamp), challenge);
65
59
  }
66
60
  throw new ProsopoApiError("API.BAD_REQUEST", {
67
61
  context: { message: "No provider URL" },
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,50 +1,50 @@
1
1
  {
2
- "name": "@prosopo/server",
3
- "version": "2.0.1",
4
- "description": "NodeJS package for server side communication with the prosopo captcha client",
5
- "main": "./dist/index.js",
6
- "type": "module",
7
- "engines": {
8
- "node": ">=20",
9
- "npm": ">=9"
10
- },
11
- "exports": {
12
- ".": {
13
- "import": "./dist/index.js",
14
- "require": "./dist/cjs/index.cjs"
15
- }
16
- },
17
- "scripts": {
18
- "test": "echo \"No test specified\"",
19
- "clean": "tsc --build --clean",
20
- "build": "tsc --build --verbose",
21
- "build:cjs": "npx vite --config vite.cjs.config.ts build"
22
- },
23
- "repository": {
24
- "type": "git",
25
- "url": "git+https://github.com/prosopo/captcha.git"
26
- },
27
- "author": "PROSOPO LIMITED",
28
- "license": "Apache-2.0",
29
- "bugs": {
30
- "url": "https://github.com/prosopo/captcha/issues"
31
- },
32
- "homepage": "https://github.com/prosopo/captcha#readme",
33
- "sideEffects": false,
34
- "dependencies": {
35
- "@polkadot/api": "10.13.1",
36
- "@polkadot/keyring": "12.6.2",
37
- "@polkadot/rpc-provider": "10.13.1",
38
- "@polkadot/util": "12.6.2",
39
- "@prosopo/api": "2.0.1",
40
- "@prosopo/common": "2.0.1",
41
- "@prosopo/contract": "2.0.1",
42
- "@prosopo/util": "2.0.1",
43
- "@prosopo/types": "2.0.1"
44
- },
45
- "devDependencies": {
46
- "@prosopo/config": "2.0.1",
47
- "tslib": "2.6.2",
48
- "typescript": "5.1.6"
49
- }
2
+ "name": "@prosopo/server",
3
+ "version": "2.0.3",
4
+ "description": "NodeJS package for server side communication with the prosopo captcha client",
5
+ "main": "./dist/index.js",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": ">=20",
9
+ "npm": ">=9"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/cjs/index.cjs"
15
+ }
16
+ },
17
+ "scripts": {
18
+ "test": "echo \"No test specified\"",
19
+ "clean": "tsc --build --clean",
20
+ "build": "tsc --build --verbose",
21
+ "build:cjs": "npx vite --config vite.cjs.config.ts build"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/prosopo/captcha.git"
26
+ },
27
+ "author": "PROSOPO LIMITED",
28
+ "license": "Apache-2.0",
29
+ "bugs": {
30
+ "url": "https://github.com/prosopo/captcha/issues"
31
+ },
32
+ "homepage": "https://github.com/prosopo/captcha#readme",
33
+ "sideEffects": false,
34
+ "dependencies": {
35
+ "@polkadot/api": "10.13.1",
36
+ "@polkadot/keyring": "12.6.2",
37
+ "@polkadot/rpc-provider": "10.13.1",
38
+ "@polkadot/util": "12.6.2",
39
+ "@prosopo/api": "2.0.3",
40
+ "@prosopo/common": "2.0.3",
41
+ "@prosopo/contract": "2.0.3",
42
+ "@prosopo/util": "2.0.3",
43
+ "@prosopo/types": "2.0.3"
44
+ },
45
+ "devDependencies": {
46
+ "@prosopo/config": "2.0.3",
47
+ "tslib": "2.6.2",
48
+ "typescript": "5.1.6"
49
+ }
50
50
  }