@prosopo/server 0.3.42 → 1.0.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/cjs/config.cjs +2 -1
- package/dist/cjs/server.cjs +21 -25
- package/dist/config.d.ts +17 -17
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -8
- package/dist/server.js.map +1 -1
- package/package.json +10 -10
- package/typedoc.config.js +0 -19
package/dist/cjs/config.cjs
CHANGED
|
@@ -9,7 +9,8 @@ const getServerConfig = () => types.ProsopoServerConfigSchema.parse({
|
|
|
9
9
|
dappName: process.env.PROSOPO_DAPP_NAME || "client-example-server",
|
|
10
10
|
account: {
|
|
11
11
|
password: "",
|
|
12
|
-
address: process.env.PROSOPO_SITE_KEY || ""
|
|
12
|
+
address: process.env.PROSOPO_SITE_KEY || "",
|
|
13
|
+
secret: process.env.PROSOPO_SITE_PRIVATE_KEY || ""
|
|
13
14
|
}
|
|
14
15
|
});
|
|
15
16
|
const getServerUrl = () => {
|
package/dist/cjs/server.cjs
CHANGED
|
@@ -9,6 +9,7 @@ const api = require("@prosopo/api");
|
|
|
9
9
|
const ws = require("@polkadot/rpc-provider/ws");
|
|
10
10
|
const contractInfo = require("@prosopo/captcha-contract/contract-info");
|
|
11
11
|
const util = require("@prosopo/util");
|
|
12
|
+
const util$1 = require("@polkadot/util");
|
|
12
13
|
class ProsopoServer {
|
|
13
14
|
constructor(config, pair) {
|
|
14
15
|
this.config = config;
|
|
@@ -127,51 +128,46 @@ class ProsopoServer {
|
|
|
127
128
|
/**
|
|
128
129
|
* Verify the user with the provider URL passed in. If a challenge is provided, we use the challenge to verify the
|
|
129
130
|
* user. If not, we use the user, dapp, and optionally the commitmentID, to verify the user.
|
|
130
|
-
* @param
|
|
131
|
-
* @param dapp
|
|
132
|
-
* @param user
|
|
131
|
+
* @param token
|
|
133
132
|
* @param blockNumber
|
|
134
133
|
* @param timeouts
|
|
134
|
+
* @param providerUrl
|
|
135
135
|
* @param challenge
|
|
136
|
-
* @param commitmentId
|
|
137
136
|
*/
|
|
138
|
-
async verifyProvider(
|
|
137
|
+
async verifyProvider(token, blockNumber, timeouts, providerUrl, challenge) {
|
|
139
138
|
this.logger.info("Verifying with provider.");
|
|
139
|
+
const blockNumberString = blockNumber.toString();
|
|
140
|
+
const dappUserSignature = this.pair?.sign(blockNumberString);
|
|
141
|
+
if (!dappUserSignature) {
|
|
142
|
+
throw new common.ProsopoContractError("CAPTCHA.INVALID_BLOCK_NO", { context: { error: "Block number not found" } });
|
|
143
|
+
}
|
|
144
|
+
const signatureHex = util$1.u8aToHex(dappUserSignature);
|
|
140
145
|
const providerApi = await this.getProviderApi(providerUrl);
|
|
141
146
|
if (challenge) {
|
|
142
|
-
const result2 = await providerApi.submitPowCaptchaVerify(
|
|
147
|
+
const result2 = await providerApi.submitPowCaptchaVerify(token, signatureHex, timeouts.pow.cachedTimeout);
|
|
143
148
|
return result2.verified;
|
|
144
149
|
}
|
|
145
150
|
const recent = await contract.verifyRecency((await this.getContractApi()).api, blockNumber, timeouts.image.cachedTimeout);
|
|
146
151
|
if (!recent) {
|
|
147
152
|
return false;
|
|
148
153
|
}
|
|
149
|
-
const result = await providerApi.verifyDappUser(
|
|
150
|
-
dapp,
|
|
151
|
-
user,
|
|
152
|
-
blockNumber,
|
|
153
|
-
commitmentId,
|
|
154
|
-
timeouts.image.cachedTimeout
|
|
155
|
-
);
|
|
154
|
+
const result = await providerApi.verifyDappUser(token, signatureHex, timeouts.image.cachedTimeout);
|
|
156
155
|
return result.verified;
|
|
157
156
|
}
|
|
158
157
|
/**
|
|
159
158
|
*
|
|
160
|
-
* @param payload Info output by procaptcha on completion of the captcha process
|
|
161
159
|
* @returns
|
|
160
|
+
* @param token
|
|
162
161
|
*/
|
|
163
|
-
async isVerified(
|
|
164
|
-
|
|
162
|
+
async isVerified(token) {
|
|
163
|
+
if (!util$1.isHex(token)) {
|
|
164
|
+
this.logger.error("Invalid token - not hex", token);
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
const payload = types.decodeProcaptchaOutput(token);
|
|
168
|
+
const { user, providerUrl, blockNumber, challenge } = types.ProcaptchaOutputSchema.parse(payload);
|
|
165
169
|
if (providerUrl && blockNumber) {
|
|
166
|
-
return await this.verifyProvider(
|
|
167
|
-
providerUrl,
|
|
168
|
-
dapp,
|
|
169
|
-
user,
|
|
170
|
-
blockNumber,
|
|
171
|
-
this.config.timeouts,
|
|
172
|
-
challenge,
|
|
173
|
-
commitmentId
|
|
174
|
-
);
|
|
170
|
+
return await this.verifyProvider(token, blockNumber, this.config.timeouts, providerUrl, challenge);
|
|
175
171
|
} else {
|
|
176
172
|
return await this.verifyContract(user, this.config.timeouts.contract.maxVerifiedTime);
|
|
177
173
|
}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
export declare const getServerConfig: () => {
|
|
2
|
+
timeouts: {
|
|
3
|
+
image: {
|
|
4
|
+
verifiedTimeout: number;
|
|
5
|
+
challengeTimeout: number;
|
|
6
|
+
solutionTimeout: number;
|
|
7
|
+
cachedTimeout: number;
|
|
8
|
+
};
|
|
9
|
+
contract: {
|
|
10
|
+
maxVerifiedTime: number;
|
|
11
|
+
};
|
|
12
|
+
pow: {
|
|
13
|
+
verifiedTimeout: number;
|
|
14
|
+
solutionTimeout: number;
|
|
15
|
+
cachedTimeout: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
2
18
|
logLevel: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "log";
|
|
3
19
|
defaultEnvironment: "development" | "staging" | "production";
|
|
4
20
|
defaultNetwork: "development" | "rococo" | "shiden" | "astar";
|
|
5
21
|
account: {
|
|
6
|
-
address?: string | undefined;
|
|
7
22
|
secret?: string | undefined;
|
|
23
|
+
address?: string | undefined;
|
|
8
24
|
password?: string | undefined;
|
|
9
25
|
};
|
|
10
26
|
networks: Record<"development" | "rococo" | "shiden" | "astar", {
|
|
@@ -19,22 +35,6 @@ export declare const getServerConfig: () => {
|
|
|
19
35
|
web2: boolean;
|
|
20
36
|
solutionThreshold: number;
|
|
21
37
|
dappName: string;
|
|
22
|
-
timeouts: {
|
|
23
|
-
image: {
|
|
24
|
-
challengeTimeout: number;
|
|
25
|
-
solutionTimeout: number;
|
|
26
|
-
verifiedTimeout: number;
|
|
27
|
-
cachedTimeout: number;
|
|
28
|
-
};
|
|
29
|
-
contract: {
|
|
30
|
-
maxVerifiedTime: number;
|
|
31
|
-
};
|
|
32
|
-
pow: {
|
|
33
|
-
solutionTimeout: number;
|
|
34
|
-
verifiedTimeout: number;
|
|
35
|
-
cachedTimeout: number;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
38
|
database?: Partial<Record<"development" | "staging" | "production", {
|
|
39
39
|
type: string;
|
|
40
40
|
endpoint: string;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWtB,CAAA;AAEN,eAAO,MAAM,YAAY,QAAO,MAQ/B,CAAA"}
|
package/dist/config.js
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAChC,yBAAyB,CAAC,KAAK,CAAC;IAC5B,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;QACL,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAChC,yBAAyB,CAAC,KAAK,CAAC;IAC5B,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;QACL,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;KACrD;CACJ,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;SACxC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAA;KACxF;IACD,OAAO,uBAAuB,CAAA;AAClC,CAAC,CAAA"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiPromise } from '@polkadot/api/promise/Api';
|
|
2
|
-
import { CaptchaTimeoutOutput, ContractAbi, NetworkConfig,
|
|
2
|
+
import { CaptchaTimeoutOutput, ContractAbi, NetworkConfig, ProcaptchaToken, ProsopoServerConfigOutput } from '@prosopo/types';
|
|
3
3
|
import { Keyring } from '@polkadot/keyring';
|
|
4
4
|
import { KeyringPair } from '@polkadot/keyring/types';
|
|
5
5
|
import { Logger } from '@prosopo/common';
|
|
@@ -29,8 +29,8 @@ export declare class ProsopoServer {
|
|
|
29
29
|
getContract(): ProsopoCaptchaContract;
|
|
30
30
|
checkRandomProvider(user: string, dapp: string, providerUrl: string, blockNumber: number): Promise<import("@prosopo/captcha-contract/types-returns").Provider | undefined>;
|
|
31
31
|
verifyContract(user: string, maxVerifiedTime: number): Promise<boolean>;
|
|
32
|
-
verifyProvider(
|
|
33
|
-
isVerified(
|
|
32
|
+
verifyProvider(token: string, blockNumber: number, timeouts: CaptchaTimeoutOutput, providerUrl: string, challenge?: string): Promise<boolean>;
|
|
33
|
+
isVerified(token: ProcaptchaToken): Promise<boolean>;
|
|
34
34
|
getContractApi(): Promise<ProsopoCaptchaContract>;
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EACH,oBAAoB,EACpB,WAAW,EACX,aAAa,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EACH,oBAAoB,EACpB,WAAW,EACX,aAAa,EAGb,eAAe,EACf,yBAAyB,EAC5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAAqE,MAAM,iBAAiB,CAAA;AACrH,OAAO,EAAE,sBAAsB,EAAiC,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAMtD,qBAAa,aAAa;IACtB,MAAM,EAAE,yBAAyB,CAAA;IACjC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,CAAA;IAC5C,sBAAsB,EAAE,MAAM,CAAA;IAC9B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,WAAW,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7B,GAAG,EAAE,UAAU,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,aAAa,CAAA;gBAEV,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAiBpD,cAAc,CAAC,WAAW,EAAE,MAAM;IAIxC,sBAAsB,IAAI,MAAM;IAOjC,OAAO;IAUP,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,MAAM,IAAI,UAAU;IAOpB,WAAW,IAAI,sBAAsB;IAkB/B,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAsBjF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAsCpD,cAAc,CACvB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM;IAgCT,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BpD,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAWjE"}
|
package/dist/server.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { ApiPromise } from '@polkadot/api/promise/Api';
|
|
2
|
-
import { NetworkNamesSchema, } from '@prosopo/types';
|
|
2
|
+
import { NetworkNamesSchema, ProcaptchaOutputSchema, } from '@prosopo/types';
|
|
3
3
|
import { Keyring } from '@polkadot/keyring';
|
|
4
|
-
import { ProsopoEnvError, getLogger, trimProviderUrl } from '@prosopo/common';
|
|
4
|
+
import { ProsopoContractError, ProsopoEnvError, getLogger, trimProviderUrl } from '@prosopo/common';
|
|
5
5
|
import { ProsopoCaptchaContract, getZeroAddress, verifyRecency } from '@prosopo/contract';
|
|
6
6
|
import { ProviderApi } from '@prosopo/api';
|
|
7
7
|
import { WsProvider } from '@polkadot/rpc-provider/ws';
|
|
8
8
|
import { ContractAbi as abiJson } from '@prosopo/captcha-contract/contract-info';
|
|
9
|
+
import { decodeProcaptchaOutput } from '@prosopo/types';
|
|
9
10
|
import { get } from '@prosopo/util';
|
|
11
|
+
import { isHex, u8aToHex } from '@polkadot/util';
|
|
10
12
|
export class ProsopoServer {
|
|
11
13
|
constructor(config, pair) {
|
|
12
14
|
this.config = config;
|
|
@@ -103,24 +105,35 @@ export class ProsopoServer {
|
|
|
103
105
|
return false;
|
|
104
106
|
}
|
|
105
107
|
}
|
|
106
|
-
async verifyProvider(
|
|
108
|
+
async verifyProvider(token, blockNumber, timeouts, providerUrl, challenge) {
|
|
107
109
|
this.logger.info('Verifying with provider.');
|
|
110
|
+
const blockNumberString = blockNumber.toString();
|
|
111
|
+
const dappUserSignature = this.pair?.sign(blockNumberString);
|
|
112
|
+
if (!dappUserSignature) {
|
|
113
|
+
throw new ProsopoContractError('CAPTCHA.INVALID_BLOCK_NO', { context: { error: 'Block number not found' } });
|
|
114
|
+
}
|
|
115
|
+
const signatureHex = u8aToHex(dappUserSignature);
|
|
108
116
|
const providerApi = await this.getProviderApi(providerUrl);
|
|
109
117
|
if (challenge) {
|
|
110
|
-
const result = await providerApi.submitPowCaptchaVerify(
|
|
118
|
+
const result = await providerApi.submitPowCaptchaVerify(token, signatureHex, timeouts.pow.cachedTimeout);
|
|
111
119
|
return result.verified;
|
|
112
120
|
}
|
|
113
121
|
const recent = await verifyRecency((await this.getContractApi()).api, blockNumber, timeouts.image.cachedTimeout);
|
|
114
122
|
if (!recent) {
|
|
115
123
|
return false;
|
|
116
124
|
}
|
|
117
|
-
const result = await providerApi.verifyDappUser(
|
|
125
|
+
const result = await providerApi.verifyDappUser(token, signatureHex, timeouts.image.cachedTimeout);
|
|
118
126
|
return result.verified;
|
|
119
127
|
}
|
|
120
|
-
async isVerified(
|
|
121
|
-
|
|
128
|
+
async isVerified(token) {
|
|
129
|
+
if (!isHex(token)) {
|
|
130
|
+
this.logger.error('Invalid token - not hex', token);
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
const payload = decodeProcaptchaOutput(token);
|
|
134
|
+
const { user, providerUrl, blockNumber, challenge } = ProcaptchaOutputSchema.parse(payload);
|
|
122
135
|
if (providerUrl && blockNumber) {
|
|
123
|
-
return await this.verifyProvider(
|
|
136
|
+
return await this.verifyProvider(token, blockNumber, this.config.timeouts, providerUrl, challenge);
|
|
124
137
|
}
|
|
125
138
|
else {
|
|
126
139
|
return await this.verifyContract(user, this.config.timeouts.contract.maxVerifiedTime);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAIH,kBAAkB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "NodeJS package for server side communication with the prosopo captcha client",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": ">=
|
|
8
|
+
"node": ">=20",
|
|
9
9
|
"npm": ">=9"
|
|
10
10
|
},
|
|
11
11
|
"exports": {
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"clean": "tsc --build --clean",
|
|
20
20
|
"build": "tsc --build --verbose tsconfig.json",
|
|
21
21
|
"build:cjs": "npx vite --config vite.cjs.config.ts build",
|
|
22
|
-
"eslint": "npx eslint . --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore --quiet",
|
|
22
|
+
"eslint": "npx eslint . --cache --cache-location ../../node_modules/.cache/eslint/.eslintcache --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore --quiet",
|
|
23
23
|
"eslint:fix": "npm run eslint -- --fix",
|
|
24
|
-
"prettier": "npx prettier . --check --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore",
|
|
24
|
+
"prettier": "npx prettier . --cache --cache-location ../../node_modules/.cache/prettier/.prettiercache --check --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore",
|
|
25
25
|
"prettier:fix": "npm run prettier -- --write",
|
|
26
26
|
"lint": "npm run eslint && npm run prettier",
|
|
27
27
|
"lint:fix": "npm run eslint:fix && npm run prettier:fix"
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"@polkadot/api": "10.13.1",
|
|
42
42
|
"@polkadot/keyring": "12.6.2",
|
|
43
43
|
"@polkadot/rpc-provider": "10.13.1",
|
|
44
|
-
"@prosopo/api": "0.
|
|
45
|
-
"@prosopo/common": "0.
|
|
46
|
-
"@prosopo/contract": "0.
|
|
47
|
-
"@prosopo/captcha-contract": "0.
|
|
48
|
-
"@prosopo/util": "0.
|
|
49
|
-
"@prosopo/types": "0.
|
|
44
|
+
"@prosopo/api": "1.0.2",
|
|
45
|
+
"@prosopo/common": "1.0.2",
|
|
46
|
+
"@prosopo/contract": "1.0.2",
|
|
47
|
+
"@prosopo/captcha-contract": "1.0.2",
|
|
48
|
+
"@prosopo/util": "1.0.2",
|
|
49
|
+
"@prosopo/types": "1.0.2"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"tslib": "2.6.2",
|
package/typedoc.config.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// Copyright 2021-2024 Prosopo (UK) Ltd.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
|
-
export default {
|
|
15
|
-
entryPoints: ['src/**/*.ts', 'src/**/*.tsx', 'src/**/*.js', 'src/**/*.jsx', 'src/**/*.json'],
|
|
16
|
-
includes: 'src',
|
|
17
|
-
extends: '../../typedoc.base.config.js',
|
|
18
|
-
readme: 'README.md',
|
|
19
|
-
}
|