@prosopo/server 0.1.16 → 0.1.18

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/package.json CHANGED
@@ -1,37 +1,38 @@
1
1
  {
2
- "name": "@prosopo/server",
3
- "version": "0.1.16",
4
- "description": "NodeJS package for server side communication with the prosopo captcha client",
5
- "main": "./dist/index.js",
6
- "scripts": {
7
- "clean": "tsc --build --clean",
8
- "build": "tsc --build --verbose",
9
- "test": "echo \"Error: no test specified\" && exit 1",
10
- "lint": "npx eslint .",
11
- "lint:fix": "npx eslint . --fix"
12
- },
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/prosopo/captcha.git"
16
- },
17
- "author": "PROSOPO LIMITED",
18
- "license": "Apache-2.0",
19
- "bugs": {
20
- "url": "https://github.com/prosopo/captcha/issues"
21
- },
22
- "homepage": "https://github.com/prosopo/captcha#readme",
23
- "sideEffects": false,
24
- "dependencies": {
25
- "@polkadot/api": "10.9.1",
26
- "@polkadot/keyring": "12.3.2",
27
- "@polkadot/rpc-provider": "10.9.1",
28
- "@polkadot/types": "10.9.1",
29
- "@prosopo/api": "^0.1.16",
30
- "@prosopo/contract": "^0.1.16",
31
- "@prosopo/procaptcha": "^0.1.16",
32
- "@prosopo/types": "^0.1.16"
33
- },
34
- "devDependencies": {
35
- "typescript": "^4.9.4"
36
- }
2
+ "name": "@prosopo/server",
3
+ "version": "0.1.18",
4
+ "description": "NodeJS package for server side communication with the prosopo captcha client",
5
+ "main": "./dist/index.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "clean": "tsc --build --clean",
9
+ "build": "tsc --build --verbose",
10
+ "lint": "npx eslint .",
11
+ "lint:fix": "npx eslint . --fix --config ../../.eslintrc.js"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/prosopo/captcha.git"
16
+ },
17
+ "author": "PROSOPO LIMITED",
18
+ "license": "Apache-2.0",
19
+ "bugs": {
20
+ "url": "https://github.com/prosopo/captcha/issues"
21
+ },
22
+ "homepage": "https://github.com/prosopo/captcha#readme",
23
+ "sideEffects": false,
24
+ "dependencies": {
25
+ "@polkadot/api": "10.9.1",
26
+ "@polkadot/keyring": "12.3.2",
27
+ "@polkadot/rpc-provider": "10.9.1",
28
+ "@polkadot/types": "10.9.1",
29
+ "@prosopo/api": "^0.1.18",
30
+ "@prosopo/contract": "^0.1.18",
31
+ "@prosopo/procaptcha": "^0.1.18",
32
+ "@prosopo/types": "^0.1.18"
33
+ },
34
+ "devDependencies": {
35
+ "tslib": "^2.6.2",
36
+ "typescript": "^5.1.6"
37
+ }
37
38
  }
package/dist/index.d.ts DELETED
@@ -1,31 +0,0 @@
1
- import { ApiPromise } from '@polkadot/api';
2
- import { ContractAbi, NetworkConfig, ProsopoServerConfig } from '@prosopo/types';
3
- import { Keyring } from '@polkadot/keyring';
4
- import { KeyringPair } from '@polkadot/keyring/types';
5
- import { Logger } from '@prosopo/common';
6
- import { ProcaptchaOutput } from '@prosopo/types';
7
- import { ProsopoCaptchaContract } from '@prosopo/contract';
8
- import { ProviderApi } from '@prosopo/api';
9
- import { WsProvider } from '@polkadot/rpc-provider';
10
- export declare class ProsopoServer {
11
- config: ProsopoServerConfig;
12
- contract: ProsopoCaptchaContract;
13
- prosopoContractAddress: string;
14
- dappContractAddress: string;
15
- defaultEnvironment: string;
16
- contractName: string;
17
- abi: ContractAbi;
18
- logger: Logger;
19
- wsProvider: WsProvider;
20
- keyring: Keyring;
21
- pair: KeyringPair;
22
- api: ApiPromise;
23
- network: NetworkConfig;
24
- constructor(pair: KeyringPair, config: ProsopoServerConfig);
25
- getProviderApi(providerUrl: string): Promise<ProviderApi>;
26
- isReady(): Promise<void>;
27
- getSigner(): Promise<void>;
28
- isVerified(payload: ProcaptchaOutput): Promise<boolean>;
29
- getContractApi(): Promise<ProsopoCaptchaContract>;
30
- }
31
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAkB,MAAM,gBAAgB,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAY,MAAM,EAAU,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAW,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,qBAAa,aAAa;IACtB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,QAAQ,EAAE,sBAAsB,CAAA;IAChC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,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,CAAA;IACjB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;gBAEV,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB;IA4B7C,cAAc,CAAC,WAAW,EAAE,MAAM;IAIzC,OAAO;IAUP,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAYnB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BvD,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAWjE"}
package/dist/index.js DELETED
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProsopoServer = void 0;
4
- const api_1 = require("@polkadot/api");
5
- const keyring_1 = require("@polkadot/keyring");
6
- const common_1 = require("@prosopo/common");
7
- const contract_1 = require("@prosopo/contract");
8
- const common_2 = require("@prosopo/common");
9
- const api_2 = require("@prosopo/api");
10
- const rpc_provider_1 = require("@polkadot/rpc-provider");
11
- class ProsopoServer {
12
- config;
13
- contract;
14
- prosopoContractAddress;
15
- dappContractAddress;
16
- defaultEnvironment;
17
- contractName;
18
- abi;
19
- logger;
20
- wsProvider;
21
- keyring;
22
- pair;
23
- api;
24
- network;
25
- constructor(pair, config) {
26
- this.config = config;
27
- this.pair = pair;
28
- if (this.config.defaultEnvironment &&
29
- Object.prototype.hasOwnProperty.call(this.config.networks, this.config.defaultEnvironment)) {
30
- this.defaultEnvironment = this.config.defaultEnvironment;
31
- this.network = this.config.networks[this.defaultEnvironment];
32
- this.wsProvider = new rpc_provider_1.WsProvider(this.config.networks[this.defaultEnvironment].endpoint);
33
- this.prosopoContractAddress = this.config.networks[this.defaultEnvironment].contract.address;
34
- this.dappContractAddress = this.config.account.address;
35
- this.contractName = this.config.networks[this.defaultEnvironment].contract.name;
36
- this.logger = (0, common_1.logger)(this.config.logLevel, '@prosopo/server');
37
- this.keyring = new keyring_1.Keyring({
38
- type: 'sr25519', // TODO get this from the chain
39
- });
40
- this.abi = contract_1.abiJson;
41
- }
42
- else {
43
- throw new common_2.ProsopoEnvError('CONFIG.UNKNOWN_ENVIRONMENT', this.constructor.name, {}, this.config.defaultEnvironment);
44
- }
45
- }
46
- async getProviderApi(providerUrl) {
47
- return new api_2.ProviderApi(this.network, providerUrl, this.config.account.address);
48
- }
49
- async isReady() {
50
- try {
51
- this.api = await api_1.ApiPromise.create({ provider: this.wsProvider });
52
- await this.getSigner();
53
- await this.getContractApi();
54
- }
55
- catch (err) {
56
- throw new common_2.ProsopoEnvError(err, 'GENERAL.ENVIRONMENT_NOT_READY');
57
- }
58
- }
59
- async getSigner() {
60
- if (!this.api) {
61
- this.api = await api_1.ApiPromise.create({ provider: this.wsProvider });
62
- }
63
- await this.api.isReadyOrError;
64
- try {
65
- this.pair = this.keyring.addPair(this.pair);
66
- }
67
- catch (err) {
68
- throw new common_2.ProsopoEnvError('CONTRACT.SIGNER_UNDEFINED', this.getSigner.name, {}, err);
69
- }
70
- }
71
- async isVerified(payload) {
72
- const { user, dapp, providerUrl, commitmentId, blockNumber } = payload;
73
- // first check if the provider was actually chosen at blockNumber
74
- const contractApi = await this.getContractApi();
75
- const block = (await this.api.rpc.chain.getBlockHash(blockNumber));
76
- const getRandomProviderResponse = await this.contract.queryAtBlock(block, 'getRandomActiveProvider', [user, dapp]);
77
- const providerUrlTrimmed = (0, common_2.trimProviderUrl)(getRandomProviderResponse.provider.url.toString());
78
- if (providerUrlTrimmed !== providerUrl) {
79
- return false;
80
- }
81
- console.log('providerUrlTrimmed', providerUrlTrimmed, 'commitmentId', commitmentId);
82
- if (providerUrlTrimmed && commitmentId) {
83
- const providerApi = await this.getProviderApi(providerUrl);
84
- const result = await providerApi.verifyDappUser(user, commitmentId);
85
- console.log(result);
86
- return result.solutionApproved;
87
- }
88
- else {
89
- return (await contractApi.query.dappOperatorIsHumanUser(user, this.config.solutionThreshold)).value
90
- .unwrap()
91
- .unwrap();
92
- }
93
- }
94
- async getContractApi() {
95
- this.contract = new contract_1.ProsopoCaptchaContract(this.api, this.abi, this.prosopoContractAddress, this.pair, this.contractName, 0);
96
- return this.contract;
97
- }
98
- }
99
- exports.ProsopoServer = ProsopoServer;
100
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}